InfoQ

News

Appcelerator RIAプラットフォームの概観

作者 Jon Rose, 翻訳者 沼田 暁子 投稿日 2008年9月18日 午前6時33分

コミュニティ
Java
トピック
RIA,
Web 2.0
タグ
Web services,
AJAX,
Web 2.0
この記事でInfoQは、AppceleratorプラットフォームについてMatt Quinlan氏と議論している。同氏はAppcelerator社のCommunity Developmentの副社長である。Quinlan氏はAppceleratorとその一般的な使い方の一部がもつ強みについて強調した。

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開発をする場合、利用可能な条件とアクションのリストはもっとたくさんあります。

 条件:
  • DOMイベント(クリック、フォーカス、アンフォーカス、変更、マウスイベント)
  • キーイベント(キーアップ、キーダウン、キープレス)
  • その他(ヒストリ、ドラッグ/ドロップ、選択、サイズ変更、iPhoneのorient、sortXYZ)
  • カスタムメッセージへのサブスクライブ
アクション:
  • Scriptaculousのエフェクト(表示/非表示、フェード、移動、スクロール、ドロップ、拡大、ハイライト、モーフィング、...)
  • 要素の値の設定(静的、動的、バインド)
  • CSSのクラスや属性の設定
  • カスタムJavaScriptコードの実行
  • カスタムメッセージのパブリッシュ

これにより開発者は、イベント処理、DOM操作、(カスタムメッセージによる)Ajaxを、全て同じ方法で処理できるようになりますが、これは現在のイベント処理(例えばonClick)とよく似ています。

私たちのUIの分離やAjaxを可能にしているメッセージングを理解するためには、http://doc.appcelerator.orgの最初のページをご覧ください。API呼び出しよりもむしろ、オブザーバパターンやパブリッシュ/サブスクライブを考えてください。

 

InfoQはAppceleratorアプリケーションのデプロイについて質問した。

Appcelerator ベースのアプリケーションは、JavaScriptが有効なWebブラウザならどれでも(プラグインなしで)そのまま実行可能です。単に appcelerator.jsファイルをHTMLにインクルードするだけです。私たちが言いたいことは「私たちはたくさんの複雑なJavaScript を書いていますので、あなたがそれをする必要はありません」。私たちは主要なWeb開発プラットフォームの6つ(Java/J2EE、.Net、 Ruby、PHP、Python、Perl)すべてについて、サービスバインディングをサポートしています。

それから、続いてInfoQはQuinlan氏に、SOAのバックエンドが必要であるかを尋ねた。

いいえ、私たちのクライアントサイドの技術(web式言語、ウィジェット、クライアントのみのメッセージング)は、従来のSOAではないWebアーキテクチャでも利用可能です。開発者が自分達の環境に技術を採用できるようにすることは重要です(私たちはこれを「ハイハイ」のステージと呼んでいます)。しかしながら、私たちは開発者がWebアプリケーションをサービス指向UI(Service OrientedUI:SOUIs)で構築すること考えることを強く勧めます。これは本質的に真のWebクライアント(HTML、CSSそして最小限の JavaScriptで構築)であり、サーバとは非同期のサービス呼び出しのみを通して相互に作用します(私たちはこれを「歩く」ステージとしています)。あなたはもうUIをサーバサイドのスクリプトで生成する必要は無いのです(http://www.appcelerant.com/lipstick-on-cgi.htmlをご覧ください)。

Quinlan氏は次に、AppceleratorのGoogle App Engineサポートについて述べた。
私たちは「app」と呼ばれる、便利で小さなスイス・アーミー・ナイフのような万能ツールを提供しています(RubyのGEMコマンドと似ています)。このツールは、Google App EngineのクラウドにAppceleratorのアプリケーションを直接デプロイすることも含め、たくさんのことを可能にします。このコマンドを使ってAmazon S3のクラウドに公開することもできます。

http://www.appcelerant.com/running-appcelerator-on-the-google-app-engine.html
InfoQはQuinlan氏に、その他にInfoQの読者がAppceleratorについて知っておく必要のあることについて尋ねた。
パブリッシュ/サブスクライブメッセージングのパラダイムは非常にパワフルで、ユーザ・インタフェースの各要素やサーバサイドとのきれいな分離を可能にします。このアーキテクチャは、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/

原文はこちらです:http://www.infoq.com/news/2008/09/appcelerator-ria

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。