今週月曜日にEclipse FoundationはEclipse Rich Ajax Platform(RAP)1.0をリリースした(source)。Eclipse RAPはエンタープライズデベロッパ達を対象としたRich Internet Applicationの制作とデプロイメント用のAjaxツールキットである。
InfoQはこの初めのリリースに関して、プロジェクトリーダーであるJochen Krause氏と対談するチャンスを得た。私たちはまずKrause氏にEclipse RAPと他のAjaxフレームワークとプラットフォームとの相違点に関して尋ねた。
RAPはOSGiリファレンス実装であるEquinoxに基づいている。デベロッパ達はそれでコンポーネント内でアプリケーションを構造するのが可能になる。またそれはEclipseの成功のキーとなっている機能である。二つ目にそれは彼らの実装言語としてJavaの使用を可能にし、高性能なEclipse JDTとPDE(プラグイン開発環境)であるアドバンスツール一式も一緒に付いてくる。そして最後にRAPはデスクトップクライアント(Eclipse RCPを伴う)とRIAクライアント(RAPを伴う)の単一ソースを可能にする。
Ian Skerrett氏(サイト・英語)はRAPの全体的に使用法を下記のように要約している。
RAPの利点はJava内でAjaxアプリケーションを記述してOSGiに基づいたEclipseコンポーネントモデルを使用できるところです。それをEclipseプラグインを使用したGWTか何かと想像してみてください。これは拡張可能なコンポーネントとしたAjaxアプリケーションを設計することができるということなのです。異なるアプリケーション内でコードを再利用するのを補助するアーキテクチャを作るのが好きな大企業にとって、これは大変重大なことなのです。
Ajaxian.comに下記のように記載されていた(source)。
RAPはGWTとは全く異なるものです。RAPはロジックをサーバ上で実行しランタイムでコントロール用のJavaScriptを除去します。SWTの実装はサーバ上で実行し、機能を付け加えるためにビューとパースペクティブを拡張することができます。
RAPはJavaを使用する能力を提供するのだが、PHP、Ruby、.NETに関して聞いたところKrause氏は将来的にRuby、可能性としてJVMにおける他の言語のサポートが考えられると述べた。それに加えてRAPのWebサイト(サイト・英語)には、RAPがSWT APIのサブセットを提供すると書かれている。そして私たちはKrause氏にフルSWT APIを伴うRAPの一致性の状態に関して尋ねたところ、返答はいともシンプルなものであった。
大変広範囲にカバーしている具体的に現在下記のアイテムが欠如している。
- GC(UIの描写を可能にするグラフィックなコンテキスト(また非グラフィックエディタ)
- キーイベントの欠落(検討中)
- 低レベルのマウスイベント欠落(検討中)
- ドラッグ&ドロップの欠落(検討中)
- StyledTextの欠落(Eclipse内の全てのソースコードエディター用の基盤)
Ajaxアプリケーションにおいてとてもホットな話題の一つはGoogle Gears(サイト・英語)のようなオフラインのサポートである。Eclipse RAPはオフラインサポートを提供しないが、代わりにEclipse RCP(サイト・英語)が適切なオプションであるだろうとKrause氏は提案した。
最後にInfoQはKrause氏にEquinoxのサポートによってRAPに提供される利点に関して詳しく解説してもらった。
- アプリケーションのコンポーネント化
- Equinoxはいろいろなプラットフォーム(デバイス、デスクトップ、サーバー)で実行可能なプラットフォームである。
- EquinoxはスタンダードJEEサーバー(アプリケーションは単純に.warとしてデプロイされる)と統合するがアプリケーション単独でも動作する。
セットアップとEcplipse RAPを実演しているスクリーンキャストと更なる情報は下記のリンクにて参照して欲しい。
- はじめてのEclipse Rich Ajax Platform (RAP)(サイト・英語)
- 更なるAjaxツールキット:Eclipse RAP 1.0(ブログ・英語)
- RAPはEclipseをAjaxフレームワークゲームに取り入れる(ブログ・英語)