JavaScriptは業務アプリの開発言語として有力な存在になる
この記事は、日経SYSTEMS 8月号に掲載された連載「新野淳一の技術インパクト」第5回のオリジナル原稿をPublickey掲載用に編集したものです。Publickeyでは日経SYSTEMS編集部との合意を得て、雑誌発行から一定期間後に記事をPublickeyに掲載しています。
JavaScriptは業務アプリの開発言語として有力な存在になる
JavaScriptは1995年の登場から何年にもわたって、Webページにちょっとした動きを与えるための簡易なプログラミング言語とみなされてきた。しかしいまやJavaScriptはモバイル向けアプリケーションの開発、業務アプリケーションのフロントエンド開発、そして大規模なWebアプリケーションのサーバサイドプログラミングなど、あらゆる分野での活用が始まりつつある。最も注目を集め、急速に適用分野を広げて進化しているプログラミング言語だ。
業務システム開発の視点で見れば、今後の開発言語としてJavaScriptが有力候補の1つとなるのは確実で、業務アプリケーションにかかわるエンジニアにとって必須の言語になると筆者は考えている。
その理由は、JavaがかつてWrite Once、Run Anywhereというキャッチフレーズで目指し、マイクロソフトもPCからモバイルデバイス、そしてクラウドまでのすべてをWindowsプラットフォームで統一しようと目指していずれもなしえなかった、あらゆる場所で動くプログラミング言語という夢を、JavaScriptはITの歴史上初めて本格的に実現しようとしているからだ。
Ajaxで注目され、HTML5で一段と強力に
グーグルが2004年にGmailを、2005年にGoogle Mapをリリースすると、誰もがその優れた機能に驚きの声をあげた。Google Mapでは地図上でマウスをドラッグするとその動きに合わせて地図がリアルタイムに移動し、それまで隠れていた部分の地図はサーバからの情報を動的に受信して表示されていく。Ajaxと呼ばれるテクニックで、それまでネイティブアプリケーションでしか実現できないと思われていた機能がWebブラウザ上で実現されていた。
Ajaxへの注目をきっかけに、JavaScriptは本格的な機能を備えたアプリケーション開発に使えるのだということが広く知れ渡った。
ここからJavaScriptを一段と強力な言語へとさらに後押しするのが、2010年頃から注目され始めたHTML5だ。HTML5はほぼ10年ぶりに行われているHTMLのバージョンアップだが、そのコンセプトはHTML5を通じてWebをアプリケーションプラットフォームにすることである。そのためHTML5には、JavaScriptから呼び出して制御できる多くの便利な機能が追加された。
例えば音声再生機能や動画再生機能、グラフィックの描画機能、ローカルなデータベース機能、マルチスレッド機能などが挙げられる(現在これらの多くはHTML5から分離し、独立した仕様として標準化が進んでいる)。
jQueryのようなライブラリが続々と登場したこともJavaScriptの普及に拍車をかけた。よく使われる機能は簡単に記述することができ、プラットフォーム間の差異も吸収してくれるjQueryは、いまや標準的なライブラリの地位を占める。さらに、jQuery Mobileに代表されるモバイルアプリケーションを開発するライブラリも多数登場し、最近ではMVCアーキテクチャを実現するライブラリも登場。大規模開発への環境も整い始めた。
サーバサイドでのJavaScriptの存在感を一気に高めたのがNode.jsだ。単にサーバサイドのプログラミング言語としてJavaScriptが使えるだけでなく、非同期処理やノンブロッキングI/Oなどの機能を備えたことで、スケーラビリティの高いWebアプリケーションの基盤として適しているのも大きな特徴で、JavaScriptの可能性をこれまで以上に広げている。
モバイルもWindowsも対応
こうしたJavaScriptの進化とともに起きているのが、対応プラットフォームの広がりだ。いま急速に普及しつつあるモバイル向け開発言語として、もともとアドビはFlashを、マイクロソフトはSilverlightを戦略的に推していた。しかしアップルがiOSでFlashもSilverlightも認めなかった結果、モバイル対応のマルチプラットフォーム対応としてHTML5とJavaScriptが唯一の選択肢として残った(アドビはアップルの方針転換を受けてAIRも推進している)。
この分野でも、JavaScriptにはjQuery Mobileのような高度なモバイルアプリケーション向けライブラリや、Webアプリケーションをネイティブアプリへと変換してくれるPhoneGapのようなソフトウェアが多数登場し、急速に充実度を高めている。アクションゲームのようなスピードや、モバイルデバイス固有の機能に直接アクセスするといった特殊な用途以外は、HTML5とJavaScriptで対応できるといっていい。
マイクロソフトは、次期WindowsのWindows 8のアプリケーション開発言語としてJavaScriptを正式に採用した。デスクトップアプリケーションも、MetroスタイルアプリケーションもHTML5とJavaScriptの組み合わせで開発できる。開発ツールのVisual StudioもJavaScriptに正式対応している。
ここまで広い用途で受け入れられ、本格的に使われようとしている言語はかつてなかった。そしてその勢いを妨げそうな要素もいまのところはない。今後数年かけて、JavaScriptは業務アプリケーション分野においても本格的な普及と活用の時代を迎えるはずだ。
あわせて読みたい
PhoneGapを用いたHTML5/JavaScriptアプリの速度や機能を拡張する「Monacaフレームワーク」、オープンソースで公開
≪前の記事
さくらのクラウド、ストレージ障害を乗り越え10月1日より課金再開。新規募集も年内再開で完全復活へ