具体的には、ユーザーのマウス操作が起きると、JavaScriptがその位置をGoogle Mapsのサーバに送信。その結果をユーザーが見ている画面に流し込むことによって、マウスのドラッグによって地図がスクロールするという機能を実現している。
ちなみにAjaxとは、XMLHttpRequestというオブジェクトを使ってWebサーバと非同期通信する技法を指すだけであり、Ajaxという規格や仕様があるわけではない。一般にWebアプリケーションは、ユーザーがボタンをクリックした時にしか通信しない。
しかしAjaxを使えば、任意のタイミングでWebサーバと通信してデータを取り出すことができる。そのためリアルタイムに画面が刻々と変化するWebアプリケーションなど、よりインタラクティブなユーザーインタフェースを提供できるようになるのだ。
AjaxはJavaScriptを用いたものであり、別に最新の技術というわけではない。ただJavaScriptという古い技術が再認識されただけだ。
従来JavaScriptは、Webブラウザによる動作の差異が多く、Webアプリケーション開発者にとって悩みの種であり、敬遠されてきた節がある。しかしGoogle MapsでAjaxによるユーザーインタフェースが提供されたことを皮切りに、今後はJavaScriptが見直され、Webアプリケーションで積極的に採用されることが予想される。
いまのWebアプリケーションに求められるものを端的にいえば、「開発期間は短縮される一方、高度でリッチなもの」となるだろう。これは開発者にとっては難題であり、1ページずつ丹念に作り上げていたら、とても開発しきれない。
そこで冒頭で説明したようなフレームワークの採用が不可欠になる。さらには、配布や市販されているライブラリやコンポーネントを積極的に用いて、いかに短期間で作り上げられるのかがポイントになるのだ。
Webアプリケーションは、根底を見ればHTTP通信とHTML要素の組み合わせにすぎない。そのため、開発言語は何であっても同じものが構築できるわけだ。しかし、開発者スキルに依存はするものの、どの言語を選ぶか? によって開発効率はまったく異なってくる。
注意したいのは、Webアプリケーションを開発する場合、いつも最新技術が良いというわけではない点だ。たいていの場合、高度なフレームワークは高機能がゆえに、小さなWebアプリケーションを作るには面倒な手順が増える。数ページからなる簡単なWebアプリケーションであれば、スクリプト言語を利用した方がずっと簡単に構築できるだろう。わざわざフレームワークを持ち出す必要はない。
特に全体の仕様があいまいなままWebアプリケーションを構築しなければならない場面(好ましいことではないけれども、プロトタイプから作って、行き当たりで作ることも多いだろう)では、フレームワークを使うと途中で設計をし直さなければならなくなる可能性もあり、開発効率が悪くなることもある。
逆にスクリプト言語で大規模なWebアプリケーションを作ろうとすれば、コードの見通しが悪すぎて潜在的なバグが多くなり、最悪の場合、作りきれずに破綻を来たす。
つまりWebアプリケーションの規模に応じて、適したものを使うべきであり、技術や技法にこだわるのは得策ではないということだ。
ところで近年のWebアプリケーションでは、ほかのサイトから情報を取得してきて、それを自分のWebページに埋め込んで表示するという手法も流行のひとつだ。たとえば、Amazon APIを使ってアフェリエイト広告を自分のページに入れるといった手法である。そのような手法では、Webサービスを使ってデータを取得し、その結果をHTMLに変換して自分のページに埋め込むという処理が実装されている。
Copyright © ITmedia, Inc. All Rights Reserved.