次世代フレームワーク Sencha Touch

ExtJSというJavascriptフレームワークをご存知だろうか?
非常に優れたUIを提供するJavascriptクロスプラットフォームフレームワークで、私もよくお世話になっている。(DEMO)

ExtJSは彼らの商品名でもありブランド名でもあったが、次世代フレームワークの投入とともに「Sencha」という名前に変更された。もちろん、語源は日本語の「煎茶」である。名前の良し悪しは個人の意見に任せるとして、彼らが今回投入した「Sencha Touch」は注目に値するフレームワークだ。

一言で言えば「iPadiPhoneそっくりのUIをもつWebアプリが作れるフレームワーク」である。もちろんAndroidもサポートされている。このSencha TouchはExtJSjQueryプラグインである「jQtouch」、ベクターグラフィックライブラリである「Raphael」を融合し、HTML5及びCSS3ベースで再構築を行った「スマートフォン専用フレームワーク」である。

UIの素晴らしさは説明するよりデモを見るほうが早いだろう。UIだけでなく特筆すべき機能が「タッチパネルへのタッチイベントが利用できる」という点だ。これはHTML5ならではの拡張イベントで、あのiPadiPhoneの拡大操作(両指で広げるやつ)なんかもUIとして取り入れられる。これはWeb用フレームワークとしてはかつてないもので、非常に画期的だ。その他の機能としては「ローカルストレージ」へも対応しているようだ。APIを眺めてみたがExtJSを使っていた方ならすんなり行けるはずだ。

問題はライセンスだ。ExtJSは途中でライセンスを「LGPL」から「GPL V3」へ変更したためエンジニアからブーイングが続出、エンジニアチームが分断したり、プロジェクトが枝分かれしたりと何かと物議をかもしだした。GPLとはいえデュアルライセンス形式で、無料のパブリックライセンス(GPL)と有料のコマーシャルライセンスで、要は数万円のライセンスを払えばGPLは免責されますよというものだった。
「Sencha Touch」は現在ベータ版なのでコマーシャルライセンスが準備中となっているが、原則これまでと同じ方式を採用するようだ。しかしながら数多くの批判に対応するためか、パブリックライセンスの場合でも例外事項が新たに設置された。パッケージへSenchaTouchを包括しないこと、SenchaTouchの組み込み方を提示するなどの条件と、配布するパッケージが彼らが提示するオープンソースライセンス(有名なものはほとんど含まれている)で提供する場合に限りGPLの処理(ソースコードにライセンスを書く等)を免責するというものだ。より詳細な説明は彼らのライセンスページ」を参照されたい。

iPadスマートフォンが大ヒット中のなか、「スマートフォン対応アプリ」のニーズは確実に高まっている。これからの技術的な幅を広げるためにも、ぜひチェックしておきたいフレームワークである。

ExtJS - kurz & gut

ExtJS - kurz & gut

ExtJS入門リッチUIなWebサイトをつくるAjaxフレームワーク

ExtJS入門リッチUIなWebサイトをつくるAjaxフレームワーク