Appceleratorのサイトでは「Appceleratorとは何か?(リンク)」という疑問に対する詳細な答えが提供されている。
AppceleratorはRIAとSOAを完全に統合したプラットフォームです。
Appcelerator はWeb 2.0スタイルのリッチ・インターネット・アプリケーション(Rich Internet Applications:RIAs)のユーザビリティのメリットを、サービス指向アーキテクチャ(Service Oriented Architecture:SOA)の再利用性や柔軟性と組み合わせます。この組み合わせは「Webのためのクライアント/サーバ」の開発スタイルをもたらします...
「Appceleratorとは何か」がわかったところで、InfoQはQuinlan氏に、なぜソフトウェアの専門家はAppceleratorを使用することを考えるべきなのかを尋ねた。
理由ですか?Ajaxベースのリッチ・インターネット・アプリケーション(RIAs)の構築をできる人がわずかで、GoogleのようにJavaScriptの忍者のそろった博士で構成された開発チームだけではないからです。InfoQはAppcelerator Expression Languageについて質問した。
Web Expression Language(web式言語)は従来のHTMLで使用されているJavaScriptのイベントモデルを(わずかにシンタックスを変更して)拡張しただけのものです。ある条件で特定のアクションを行います。例えば、onClick="javascriptコード"というコードをHTMLの要素の属性として書いているでしょう。Appceleratorのweb式言語では、on="click then script[javascriptコード]"と書きます。しかし、AppceleratorでWeb開発をする場合、利用可能な条件とアクションのリストはもっとたくさんあります。InfoQはAppceleratorアプリケーションのデプロイについて質問した。
条件:アクション:
- DOMイベント(クリック、フォーカス、アンフォーカス、変更、マウスイベント)
- キーイベント(キーアップ、キーダウン、キープレス)
- その他(ヒストリ、ドラッグ/ドロップ、選択、サイズ変更、iPhoneのorient、sortXYZ)
- カスタムメッセージへのサブスクライブ
- Scriptaculousのエフェクト(表示/非表示、フェード、移動、スクロール、ドロップ、拡大、ハイライト、モーフィング、...)
- 要素の値の設定(静的、動的、バインド)
- CSSのクラスや属性の設定
- カスタムJavaScriptコードの実行
- カスタムメッセージのパブリッシュ
これにより開発者は、イベント処理、DOM操作、(カスタムメッセージによる)Ajaxを、全て同じ方法で処理できるようになりますが、これは現在のイベント処理(例えばonClick)とよく似ています。
私たちのUIの分離やAjaxを可能にしているメッセージングを理解するためには、http://doc.appcelerator.orgの最初のページをご覧ください。API呼び出しよりもむしろ、オブザーバパターンやパブリッシュ/サブスクライブを考えてください。
それから、続いてInfoQはQuinlan氏に、SOAのバックエンドが必要であるかを尋ねた。Appcelerator ベースのアプリケーションは、JavaScriptが有効なWebブラウザならどれでも(プラグインなしで)そのまま実行可能です。単に appcelerator.jsファイルをHTMLにインクルードするだけです。私たちが言いたいことは「私たちはたくさんの複雑なJavaScript を書いていますので、あなたがそれをする必要はありません」。私たちは主要なWeb開発プラットフォームの6つ(Java/J2EE、.Net、 Ruby、PHP、Python、Perl)すべてについて、サービスバインディングをサポートしています。
Quinlan氏は次に、AppceleratorのGoogle App Engineサポートについて述べた。いいえ、私たちのクライアントサイドの技術(web式言語、ウィジェット、クライアントのみのメッセージング)は、従来のSOAではないWebアーキテクチャでも利用可能です。開発者が自分達の環境に技術を採用できるようにすることは重要です(私たちはこれを「ハイハイ」のステージと呼んでいます)。しかしながら、私たちは開発者がWebアプリケーションをサービス指向UI(Service OrientedUI:SOUIs)で構築すること考えることを強く勧めます。これは本質的に真のWebクライアント(HTML、CSSそして最小限の JavaScriptで構築)であり、サーバとは非同期のサービス呼び出しのみを通して相互に作用します(私たちはこれを「歩く」ステージとしています)。あなたはもうUIをサーバサイドのスクリプトで生成する必要は無いのです(http://www.appcelerant.com/lipstick-on-cgi.htmlをご覧ください)。
私たちは「app」と呼ばれる、便利で小さなスイス・アーミー・ナイフのような万能ツールを提供しています(RubyのGEMコマンドと似ています)。このツールは、Google App EngineのクラウドにAppceleratorのアプリケーションを直接デプロイすることも含め、たくさんのことを可能にします。このコマンドを使ってAmazon S3のクラウドに公開することもできます。InfoQはQuinlan氏に、その他にInfoQの読者がAppceleratorについて知っておく必要のあることについて尋ねた。
http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html
パブリッシュ/サブスクライブメッセージングのパラダイムは非常にパワフルで、ユーザ・インタフェースの各要素やサーバサイドとのきれいな分離を可能にします。このアーキテクチャは、Appceleratorベースのアプリケーションを、オフライン(メッセージをキューイングしてフラッシュ)やテスト(クリックを偽装してメッセージを記録するのをやめたり...ヒント:クロスブラウザで機能します!)、プロトタイピング(HTMLの中でサーバサイドのサービスを偽装することで、サーバサイドのコード無しで完全に機能的なプロトタイプを構築(リンク))、そしてWeb開発者が関心を持っているその他の多くのものにとって、便利なものにします。
InfoQ.comがQuinlan氏にインタビューしたすぐ後に、AppceleratorはライセンスをGPLからApache2に変更したことを発表した。AppceleratorのCEOであるJeff Haynie氏は「Appceleratorがライセンスの変更を発表;さよならGPL(リンク)」という記事でこの変更を発表した。
みなさんがどのようにAppceleratorを使いたいのか、現在どのようにAppceleratorを使用しているのか、そして将来どんなことをしたいのかを知るために、私たちは過去6ヶ月の間、コミュニティと話をしてたくさんのことを聞きました。私たちは、とてもはっきりとした話題を明らかに聞きました:再配布の影響があるため、GPLはコミュニティの考え方には適したライセンスではないのです。特にWebアプリケーションの構築、Webサーバによる組み込まれ方やダウンロードのされ方に関係があるからです。これらの法的な懸案事項に関係があるので、私たちは当初を私たちのGPLでの立場を明らかにしようと考えていましたが-私たちは本質的にGPLライセンスの意図を緩和しようとしており、それは趣旨にそぐわないのではないかと感じました。このことは、私たちのライセンスが私たちのビジネスや技術的な目標にマッチしていないことを明らにしていました。
Appcelerator詳細はこちらで:http://www.appcelerator.com/