技術的観点から見るJavaScript

技術的観点から見る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とデスクトップをつなぐ架け橋として、より広い領域で活用されるようになっていくのではないでしょうか。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30