【WDE2010】John Resig氏、JavaScriptライブラリ「jQuery Mobile」を紹介


Mozilla Corporation社John Resig氏

 ウェブ制作・開発のエキスパートが集まる世界的なイベント「Web Directions East 2010」のカンファレンスが11月15日に開催された。JavaScriptの人気ライブラリ「jQuery」の作者であるMozilla CorporationのJohn Resig氏は、10月にα1版がリリースされたばかりの新しいプロジェクトである、スマートフォンやタブレット向けのJavaScriptライブラリ「jQuery Mobile」について講演した。

さまざまなプラットフォームで自動テスト

 Resig氏がモバイルに取り組み始めたのは、準備期間を含めると、2009年だという。モバイルはいまちょうど面白い分野だが、モバイル向けブラウザーは種類があり挙動が違うため、「モバイルでのウェブ開発はクレイジー」だと氏は語る。

 jQuery Mobileプロジェクトを開始したときのシンプルな目標は「普及しているモバイルプラットフォームにjQueryを対応させる」。そこで疑問となったのが、ではどのプラットフォームが普及しているのか、どのブラウザが普及しているのか、という点だ。Resig氏は、ブラウザシェア解析のStatCountと、調査会社のGartnerのデータを元に、利用数ではSymbian・iPhone・BlackBerryが、端末販売数ではSymbian・BlackBerry・Androidが普及していると説明。また、ブラウザではOpera・iPhone・Nokia・BlackBerryが多く、Androidはここ1年で伸びているというデータを見せた。

 そして、Symbian、iPhone、BlackBerry、Android、Windows Mobile、WebOS、MeeGo、Opera mini、Fennecなど、プラットフォームやブラウザごとに特徴や注意点を紹介した。たとえば、iPhoneのWebKitはCSSのpositionのfixedに対応していないこと、Blackberryでは4.6以前は実質的にJavaScriptが実行できないこと、Androidはさまざまなデバイスベンダーが異なるバージョンのOSでリリースしていること、Windows Mobileは7.0でもIE7ベースであることなどを注意点として説明した。

 こうした挙動の違いを吸収するには、徹底したテストが必要になる。Resig氏は、「シミュレータと実機の両方でテストする必要がある」という。シミュレータだと実機との違いが出るほか、タッチ画面などもあるので、実際のデバイスがどうしても必要となる。そのため、jQueryのテストのために何千ドルというデバイスを購入したという。

 一方、自動テストにはシミュレータが有効だ。Resig氏は、自身の開発した、ウェブブラウザにJavaScriptを送り付けてテストを実行し結果を返してもらう分散テストツール「TestSwarm」を紹介。モバイルの各機種とそのシミュレータで一斉にテストを実行していると語った。

モバイルプラットフォームごとの利用数モバイルプラットフォームごとの販売数
モバイル用ブラウザごとの利用数PC用ブラウザとプラットフォームごとの機能レベル表
モバイル用ブラウザとプラットフォームごとの機能レベル表変更ごとにTestSwarmにより各モバイル用ブラウザで自動テストを実行する

jQuery Mobileのユーザーインターフェイス機能を紹介

 後半では、jQuery Mobileの機能がデモをまじえて紹介された。jQueryには大きく分けて、より多くのプラットフォームをサポートすることと、モバイル向けに新たなユーザーインターフェイスを提供することの、2つの要素があるという。前者については、万一JavaScriptが使えなくても、HTMLで基本的な表示ができると説明した。

 そのうえで、ダイアログボックス、ページの切り替え効果表示、テーマの機能やそれに含まれるカラースキーム(swatch)の機能、スクロール中は消えて画面を広く見せるヘッダーとフッター、画面サイズにあわせて伸び縮みするナビゲーションバー、テーマで外見変更できポップアップ選択などの機能を持ったformなどをデモした。特に、jQuery Mobileのデモのメニューでも使われているリストビューについては、実装がうまくいって優れたものになったと自負を語った。

 さらに、モバイル端末向けのため、通信速度を考えてサイズを小さくすることも重要だと主張。jQuery Mobileでは13KBしか消費せず、今後もできるかぎり小型にしていくと語った。

ダイアログを表示リストビュー
テーマに含まれるカラースキーム(swatch)ヘッダーとフッター。スクロール中には消えて画面を広く見せる
画面サイズにあわせて伸び縮みするナビゲーションバーテーマで外見を変更できるform
ポップアップで選べるform階層構造を持ったリストビュー

 質疑応答では、jQueryのjQTouchプラグインからの影響や、キャッシング、画面サイズ、カスタムデータタイプなど、技術的な質問が飛び交った。なお、jQuery Mobileでは解像度や縦横置きなどごとにCSSのクラスを細かく分けて切り替えているのだという。


関連情報

(高橋 正和)

2010/11/16 09:00