jMaki: AJAX フレームワーク

前回のブログでは AJAX についてお話ししました。 また、AJAXのデザイン戦略をお読みいただけば、Ajax の利点と欠点、そしてどんな場面で利用できるのかといった事柄をご理解いただけることでしょう。
今回のブログでは、 jMaki をご紹介したいと思います。

そもそも jMaki は、JSP ページや JSF のコンポーネントから JavaScript のウィジェットにアクセスする既存の AJAX フレームワークのラッパーとして誕生しました。
jMaki の "j" は JavaScript 、そして "maki" は "wrap" を意味する日本語の言葉 (巻)から取ったものです。まさに言い得て妙ですね。

Cannot resolve external resource into attachment.
さらに、 jMaki のロゴは、草書体で書かれた "wrapper" を意味する漢字(巻) のヒゲの部分に "j" の文字をあしらったものになっていますが、これも jMaki の性質を上手くあらわしています。

jMaki を使うと、 DojoScriptaculousGoogle Web ToolkitYahoo UI Library といった既存の AJAX フレームワークで作られたウィジェットにアクセスすることができます。
さまざまなフレームワークで作られたコンポーネントに対する jMaki のラッパーは、こちらのウィジェットギャラリーでご覧いただけます。また、フレームワークごとに分類されたより完成度の高い Widget コレクションが こちらにもあります。

この数週間で、jMaki プロジェクトは完全な AJAX フレームワークへと変身を遂げました。 jMaki は Java (Java Server Pages および Java Server Faces) PHP 5.x, それに Phobos (Sun によるもうひとつの Web 2.0 ...詳細は後ほど) による Web アプリケーションに JavaScript を中心とした Ajax 対応 Web アプリケーション作成のための軽量なモデルを提供します。

jMaki フレームワークは、以前にも述べたようにウィジェット・モデル、クライアント・サービス、レイアウト、およびプレゼンテーション層上のクライアント・ランタイム(またの名をクライアントサイド・コンポーネント)、サーバサイド・ランタイム、そしてデータ層上の XmlHttpProxy (またの名をサーバサイド・コンポーネント)を利用してプレゼンテーション層のロジックとその下層のデータとを分離します。AJAX フレームワークのためのラッパーからスタートした jMaki は、いまでは Widget Model として知られるようになったというわけです。

 さて、 jMakiについての詳細をお読み頂いたところで、そろそろコードを書いてみることにしましょう。その前に、まずはこちらのスクリーンキャストをご覧になることをお勧めします。このスクリーンキャストでは、 jMaki の概要、そして NetBeans 上で jMaki プラグインを使って Web アプリケーションを開発する手順が紹介されています。スクリーンキャストに従い、以下の手順で作業を行ってください:

1. NetBeans 5.5 をダウンロードします。
2. NetBeans の Ajax Update Center Module をダウンロードします。 個人的には、 jMaki プラグインの NBM ファイル( NetBeans モジュール)よりアップデートセンター・モジュールの方が好みです。こちらを使えば、関連する良いアイテム( Phobos プラグインとか)も一緒にダウンロードすることができますからね。
3. Cannot resolve external resource into attachment.
4. スクリーンキャストの手順に従い、 Web アプリケーションを作成します。
5. NetBeans 5.5 には Apache Tomcat 5.5.17 があらかじめ同梱されています。 NetBeans IDE の "Runtime" タブを開き( デフォルトの ショートカット・キーは Ctrl + 5)、 "Bundled Tomcat (5.5.17)" を選択して、 右クリックメニューから "Start" でTomcatを起動します。
6. ちょっとしたお遊びで、SuDoKu Widget を追加してみました。
7. アプリケーションの配備が完了すれば(手順 4 )、http://localhost:8084/WebApplication1 にアクセスしてアプリケーションを表示することができます(デフォルトポートは 8084 、 アプリケーションのコンテキスト・ルートは WebApplication1 です)
たったこれだけで、あっという間にリッチ・インターネット・アプリケーションを開発できてしまいましたね。一度設定を行っておけば、一分もかからずに既存の jMaki ウィジェットを Web アプリケーションに追加することが可能となるのです。
一旦 Web アプリケーションを配備してしまえば、あとは改めて余分な配備手順を踏むことなくドラッグ・アンド・ドロップ、保存、再読み込みでウィジェットの追加を行えます。これがJavaScript のいいところですね。

JavaPassion.com で有名な Sang Shin は、 jMaki ウィジェットの使い方を紹介する素晴らしいハンズオン・ラボを作りました。スクラッチから jMaki ウィジェットを作成し、既存のツールキットに含まれるウィジェットをラップする方法については、後日このブログにてご紹介したいと思います。


日本語翻訳: Kana. Kotake

原文