新春特別企画

2012年のJavaScript~PCからモバイルの時代へ

この記事を読むのに必要な時間:およそ 4 分

2012年の予想

それでは,本題の2012年のJavaScript界隈がどうなっていくのか,少しだけ予想してみましょう。

これまではウェブといえばパソコンが主流で,HTML5関連の新技術はいつになったらパソコン向けのウェブサイトで使えるのかといった話題が繰り返されてきました。しかし,昨今ではiPhoneやAndroidの普及が急速に進み,そのスペックは急速に進化しているので,スマートフォンでできないことは大幅に減ってきています。むしろ,より生活に密着したモバイル端末の特性を生かした新しいウェブアプリケーションの可能性が広がってきています。我々のような開発者側の人間は開発環境としてパソコンが必須ですが,コンテンツの消費者はモバイル端末だけでも事足りてしまうでしょう。わざわざパソコンを起動するより,モバイル端末のほうが十分に速く・利便性に優れるようになってきています。元々日本の携帯電話市場は独自の進化で巨大な市場を作っていましたが,今後はよりオープンで多様性のある成熟した市場へと進化していくかもしれません。

当然,それにともなってJavaScriptの主要なステージはモバイル環境に移行していくでしょう。この動きは既に始まっていますが,2012年はその節目になるだろうと予想しています。

アプリ化とフレームワーク

スマートフォンのアプリといえば,今のところネイティブアプリが主流です。すなわちiOSならObjective-C,AndroidならJava,Windows PhoneではSilverlightやXNAなどを開発環境としています。これは各プラットフォームにアプリを展開したい場合,それぞれの言語・環境で別々に開発しなければいけないということです。しかも,ネイティブアプリはユーザーがダウンロードしてインストールするという性質上,アップデート頻度や過去のバージョンのサポートといった問題が付きまといます。そこで,ウェブベースのアプリへの注目が俄然高まってきています。

ネイティブアプリに比べてウェブベースのアプリは遅かったり,実現できない機能が多いとも言われています。ゲームなどでは速さは致命的な問題なので,ネイティブアプリの需要は将来的にも高いと予想されますが,そうではないアプリではユーザーが快適に使えるかどうかという点が重要で,ウェブベースのアプリでも十分に実現可能になっています。機能的な不足はその部分だけをネイティブアプリを用いて,中身はウェブアプリにするといった方法で実現可能です。実際,そういったハイブリット型のアプリが増えてきています。

また,ウェブアプリへの注目に応じて,ウェブアプリ向けのフレームワークが登場してきています。jQuery Mobileや,Senchaなどもその一部と言えますが,本命はやはりBackbone.jsなどのクライアントサイドMVC フレームワークでしょう。Backboneのほかにもいくつものフレームワークが登場しています。TodoMVCにいくつかのフレームワークで同じアプリを実装したサンプルがあるので,それぞれ比較してみると面白いと思います。

またpjax(githubのように,ページの一部だけ更新しながらURLも変更するテクニック。無駄な再読み込みがないので,体感速度が速い)などのテクニックも当たり前のように使われるようになってくるでしょう。

軽量ライブラリ

Backboneやpjaxはソースコードが非常に軽量である点も重要です。スマートフォンのスペックは向上してきているとはいえ,通信はまだまだ心もとないですし,メモリなども十分な余裕があるとはいえません。そこで,注目を集めているのがMicrojsというサイトです。Microjsは軽量ライブラリを集め,その用途からライブラリを見つけることができるサイトです。

中でも人気があるのがzepto.jsです。zepto.jsはjQueryライクなAPIを備え,スマートフォンに特化した軽量ライブラリです。IE用のコードが大半を占めるjQueryをスマートフォンで使うのは無駄が多く,またiOSはファイルサイズが大きいとキャッシュされないといった問題もあるため,zepto.jsの人気は急速に高まっています。zepto.jsの作者であるThomas Fuchs氏はMicrojsの管理者でもあります。最近ではjQueryを軽量化したjQuipなども登場し,軽量化ブームに拍車がかかってきています。

ブラウザの外への展開

もう一つ,最近の傾向として外せないのがJavaScriptのブラウザ外への展開です。node.jsのブーム,PhantomJSの登場などを受けて,日常的に使うスクリプト言語としてJavaScriptが注目を集めてきています。PhantomJSは当初から,node.jsもver 0.6以降からWindows版も登場し,より汎用的に使える言語へと進化しつつあります。今年,どういった進化をするのか注目です。

また,CoffeeScriptやDartに影響された,JavaScriptを生成する言語も増えていくと予想されます。CoffeeScriptの課題の1つとしてデバッグの手間が挙げられますが,これはSourceMapによって解決する見込みがあります。SourceMapによって,コンパイル後のJavaScriptとオリジナルのソースを結びつけ,JavaScriptのエラーに対応するソースコードのエラー位置を知ることができるようになります。これは汎用的に使える仕組みなので,CoffeeScriptに限らず,JavaScriptを生成する仕組みに対して(難読化なども含む)利用できます。SourceMapはFirefoxやWebKitで実装が進められており,今後のJavaScript生成言語の普及の鍵となってくるでしょう。

まとめ

最近のJavaScript界隈のトレンドをやや個人的な興味に偏りつつピックアップしてみましたが,いかがでしたでしょうか? あまり触れなかったECMAScript 6の動向なども気になるところかもしれませんが,これまでの傾向からしてECMAScript 6はまだまだ二転三転あるのではないかと予想しています。

この記事をきっかけによりJavaScriptに興味を持って頂ければ幸いです。ありがとうございました。

著者プロフィール

太田昌吾(おおたしょうご,ハンドルネーム:os0x)

1983年生まれ。JavaScriptをメインに,HTML/CSSにFlashなどのクライアントサイドを得意とするウェブエンジニア。2009年12月より、Google Chrome ExtensionsのAPI Expertとして活動を開始。

URLhttp://d.hatena.ne.jp/os0x/