Introducing Sencha Touch: HTML5モバイル用フレームワーク
2010/06/18 by yuki
今週の火曜日、Ext JS、jQTouch、そしてRaphaëlが合流してSenchaとなることを発表しました。同時に、近日中にビッグニュースがあることを仄めかたりもしてました。そして、今日がその日です!本日Senchaは、世界初となるモバイル端末用のHTML5フレームワーク、Sencha Touchを発表しました。モバイル端末向けで、クロスプラットフォーム対応した、実用に堪えうるWebアプリケーションを開発するためのフレームワークはこれまで存在しませんでした。この製品のUI部品は必要なものを全て網羅、完全なタッチイベント処理とCSSによる画面遷移が実装され、さらに多機能なデータパッケージも付属しています。
HTML5フレームワーク
最近HTML5と周辺技術(英語版)について多くのブログ記事を掲載してきました。そして、我々はこのSencha TouchをHTML5フレームワークと呼んでいます。なぜでしょうか?それにはいくつかの理由があります。第一に、HTML5はSencha Touchのアプリケーションをオフライン対応にしてくれます。例えば、ソリテアのデモアプリはHTML5のlocalStorage機能を使ってゲームの状態を保存します。第二に、HTML5の位置情報機能はアプリケーションが現在地やその他の地理情報を扱う事を非常に容易にしてくれます。我々のGeoCongressのデモはこの機能を利用して地域の議員(米国)の情報を検索してくれます。第三の理由は、このフレームワークがCSS3を全面的に利用しているからです。アイコンを除けば、このライブラリには画像ファイルは存在しません— 画像は全てCSS3で生成されています。
CSS3はボーダーのスタイリング、グラデーション、影、そしてそれだけではないスタイル用のツールを提供してくれます。Sencha Touchのツールバー、ボタン、スライダー、メータ、その他諸々の部品は純粋にCSS3だけで作成されています。CSS3はさらに画面遷移効果やアニメーションをフレームワークに与えてくれます。また、HTML5の周辺技術にはまだフレームワークに取り込んでいないWeb Workersのような技術があり、今後のバージョンアップで実装を行っていく予定です。フレームワーク全体のサイズはたった80kb(圧縮後)、さらに必要ない機能は取り除くことが可能です。
完全なモバイル用パッケージ
ここで全ての機能は紹介しませんが、大半のモバイル用アプリケーションでは、カメラやBluetoothといった機能を使う事はないため、Sencha Touchを使って開発し、Webアプリとして配布しても全く問題ないと我々は考えています。ここで、なぜWebアプリケーションが素晴らしいものかということを、もう一度思い出してみましょう。Webアプリは標準技術で書かれているため異なるブラウザ上で同じように動作します。Webアプリは更新する必要がありません。開発者の立場からは、ユーザーが古いバージョンのまま使い続けるといったことを心配する必要がありません。Webアプリのコンテンツは検索エンジンで検索可能ですので、アップストア等での検索結果より意味のある検索が可能です。実際問題、Webアプリはどんな人でも書くことができます。一番いいのは、広告、トラフィック分析、ソーシャルツール、マッシュアップ、アフィリエイト、等々のあらゆる機能を自由かつ容易に追加することができるということです。現時点においては、カメラや加速時計を利用するにはPhoneGapの様なツールを使ってネイティブアプリケーションでSencha Touchアプリケーションをラップする必要があります。しかし、今後の流れを考えたときに、こういった制限は長くは続かないのではないかと我々は考えています。
最初のパブリックベータ版
今回のリリースは最初のパブリックベータ版です。みなさんのフィードバックをお待ちしています。正式リリースに向けてまだまだやるべきことが残っています。現在Android用のフォームを重点的に見直しを行っています。HTML5のキャッシュマニフェストを構築する方法をもっと簡単にする必要もあります。フレームワークの使わないパーツを取り除くための最適化ツールを開発する必要もあります。そして、正式リリースまでには素晴らしい画像系の機能追加を行いたいとも考えています。
ライセンス
ベータ版のライセンスはGPLv3 + FLOSSライセンスでの提供となります。我々としては商用ライセンスでの提供の前にオープンソースの利用者にメリットを提供したいと考えています。そして、この場を借りて、GPLv3の一部でありながら多くの人が忘れてしまっている「Free and Open Source exception」について強調しておきたいと思います。つまり、もし開発者が希望するなら、ApacheあるいはOSIが認定したライセンスのプロジェクトをGPL化させずにSencha Touchを利用する事が可能なのです。
Web第三世代
もし90年代のブラウザ戦争の時期をWebの第一世代、そしてIE6が支配した長くて苦しかった期間を第二世代とするなら、いまは第三世代が始まりつつある時期だと我々は考えます。新しいブラウザ技術により、開発者はこれまでにない美しくかつ機能的なアプリケーションを開発でき、ユーザーは場所を問わずに必要な作業をブラウザ上において行えるだけでなく、そのツールを操ることを楽しめるようになるはずです。
Enjoy!
Sencha開発陣

