2008年のJavaScript動向

2009年1月21日(水)
竹添 直樹

技術的観点から見るJavaScript

 2008年はFirefox 3やGoogle Chromeなど注目の新Webブラウザが登場しました。これらのブラウザに共通した特徴が「JavaScriptの高速化」です。もともとAjaxはWebアプリケーションのユーザビリティを改善するために登場したものですが、JavaScriptのコード量が膨らむにつれ、アプリケーションの動作自体が重くなってしまうという問題がありました。Ajaxで凝ったユーザーインターフェースを提供したとしても動作が遅くなってしまうのであれば本末転倒です。

 とりわけFirefox 3ではJavaScriptの動作速度が劇的に改善されており、Gmailなどでは実行速度がはっきりと体感できるほど向上していました。今後もさまざまなWebアプリケーションでJavaScriptが活用されていくことを考えると、JavaScriptのさらなる高速化も必要になるかもしれません。

 また、JavaScriptによる非同期通信の新たな通信手段としてCometが取り上げられることもありました。従来のAjaxではサーバー側での状態変化をリアルタイムに検出することはできず、そのような場合はクライアントから定期的にポーリングを行う必要がありました。これは無駄な通信が大量に発生するためネットワークやサーバーの資源を無駄遣いしてしまうという問題があります。

 Cometではクライアントからリクエストがあるとサーバー側ですぐにレスポンスをせず、いったん保留状態にします。その後、サーバー側で状態変化が発生したタイミングでレスポンスを行うことで、レスポンスのタイミングをサーバー側で制御することができるというものです。

 Cometは通常のAjaxリクエストと異なり接続が長時間維持されるため、クライアント数が増えるとサーバー側の最大接続数をこえてしまう可能性があります。逆に通常のAjaxリクエストは1つのリクエストは短時間で処理されるため、接続数よりもいかに短時間でレスポンスを返せるかどうかが重要になってきます。アプリケーションの性質にあわせて最適な通信方法を選択するようにしましょう。

WebとデスクトップをつなぐJavaScript

 2008年のJavaScript動向として外せないのが、Gears(Google Gears)やAdobe AIRの登場でしょう。

 Gears(http://gears.google.com/)はオフラインでも利用可能なWebアプリケーションを開発するためもので、2007年5月にバージョン0.1がリリースされましたが、2008年に入りWindows Mobile対応版のリリースや、名称の変更(Google GearsからGearsに)などの動きがありました。GearsはWebブラウザのエクステンションとして動作します。

 具体的にはWebブラウザにGearsをインストールすることで、JavaScriptでGearsのAPIが利用できるようになります。これらのAPIを利用することでクライアントサイドにデータを保存し、オンラインになったタイミングでサーバーと同期を取るようなアプリケーションを開発することができるのです。Gearsの登場はこれまでネットワークに接続していないと使えなかったWebアプリケーションに新たな可能性を提示したと言えるでしょう。

 Adobe AIR(http://www.adobe.com/jp/products/air/)はAdobeが提供するリッチクライアントアプリケーションのためのプラットフォームで、2008年2月に正式にリリースされました。AIRではFlexもしくはHTMLでデスクトップアプリケーションを開発することができます。HTMLで開発する場合はJavaScriptを用いてAjaxを利用したりすることができます。Webアプリケーションがそのままデスクトップアプリケーションとして動作するようなイメージです。開発者にとってはこれまでのWebアプリケーション開発のノウハウを生かしてデスクトップアプリケーションを開発できるというメリットがあります。

 GearsとAIRの例からもわかるとおり、JavaScriptがWebとデスクトップをつなぐ架け橋として、より広い領域で活用されるようになっていくのではないでしょうか。

NTTデータ先端技術株式会社
NTTデータ先端技術に勤めるしがないプログラマ。最近はOSS、アジャイルをキーワードに活動しつつ、余暇を利用して書籍の執筆などを行っている。著書に独習JavaScript(共著、翔泳社刊)など。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています