SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

jMakiでリッチなGUIを作ろう!

EclipseのプラグインとしてjMakiを利用する

dojoウィジェットを追加する

 では、jMakiに埋め込んで利用できる「ウィジェット」を使ってみましょう。先にjMakiをダウンロードしましたが、この中にある「widgets」というフォルダを開いてみてください。いくつかのzipファイルが保管されているはずです。これらが、標準で添付されるウィジェットです。

 この中から「dojo」というウィジェット群を利用してみることにします。dojoというのは、オープンソースのJavaScriptライブラリで、リッチなコンポーネントを提供するものです。このdojoのコンポーネントを、そのままjMakiに埋め込んで使ってみよう、というわけです。

 「jmaki-dojo-1.0.zip」という圧縮ファイルを展開し、その中を開いてください。「resources」と「templates」というフォルダがあるはずです。「resources」が、実際に利用可能なリソースファイルで、「templates」はオリジナルウィジェットを作成するための雛形となるものです。

 「resources」フォルダを開き、その中の「dojo」フォルダを開いてみましょう。多数のフォルダが配置されていますね。これらは、jMakiのコンポーネントです。この「dojo」フォルダをコピーし、「WebContent」内にペーストしてください。

 jMakiは、ウィジェットを以下の順番に検索していきます。

  1. Webアプリケーションのルートを検索する。
  2. 見つからなかったら、「resoureves」内を検索する。
  3. それでも見つからなかったら、「WEB-INF/resourees」内を検索する。

 従って、通常はWebアプリケーションのルートにフォルダをそのまま配置しておくのが良いでしょう。「ルートに置くのは見苦しい」という人は「resources」内に配置してください。

 これで、dojoのウィジェット関係のファイルがプロジェクトに追加されました。では、「index.jsp」を開き、ウィジェットを利用できるようにするためのコードを追加しましょう。まず、冒頭でタグライブラリを追加しておきます。

<%@ taglib prefix="a" uri="http://jmaki/v1.0/jsp" %>

 続いて、一例として時計のウィジェットを配置してみることにします。これは、パレットからタグを追加して記述することも可能ですが、もっと便利なものがあります。「スニペット」ビューを開いてみましょう。多くのウィジェット用のテンプレートが登録されているはずです。この中から「dojo」項目内の[clock]を選択し、マウスでJSPエディターの<div id="content" style="height: 400px">タグ内にドラッグ&ドロップしましょう。すると、次のようなタグが挿入されるはずです。

<a:widget name="dojo.clock"  />

 タグを配置したら、Webページ・エディターに切り替え、配置したコンポーネントをマウスでドラッグして大きさなどを調整しておきましょう。縦横100ドットにリサイズしたとすると、このタグは次のように自動修正されるはずです。

<a:widget name="dojo.clock"  style="height: 100px; width: 100px"/>
JSPエディターにスニペットからタグを追加し、Webページ・エディターに切り替えてサイズなどを調整する
JSPエディターにスニペットからタグを追加し、Webページ・エディターに切り替えてサイズなどを調整する

 修正したら、サーバを起動し「index.jsp」にアクセスしてみましょう。追加した時計のコンポーネントが表示されるはずです。たった1行のタグを書くだけで、こんな本格的なコンポーネントができてしまうのです。

配置した時計。リアルタイムに秒針が動き、時刻を表示する
配置した時計。リアルタイムに秒針が動き、時刻を表示する

 スニペットには、他にもdojoウィジェットが多数揃っていますから、いろいろと配置してみると面白いでしょう。また、jMakiの中には、dojoの他にもgoogleやyahoo、spryといったウィジェットが圧縮ファイルとして収められています。使い方は、いずれもdojoの場合とまったく同じですし、スニペットにはこれらのタグを挿入するテンプレートも用意されていますので、ほとんどノンプログラミングでこれらを利用することができます。

 例えば、下の図は、dojoの簡易エディターを挿入したところです。タグ1つで、WYSIWYGエディターが実現してしまいます。このように、リッチなGUIが簡単にできてしまうのです。

WYSIWYGエディター。上部のアイコンをクリックしてスタイルなどをその場で変更できる
WYSIWYGエディター。上部のアイコンをクリックしてスタイルなどをその場で変更できる

まとめ

 ここまでざっと読んでみて、「あれ? Javaの話がまったく出てこなかったな?」と思った人。そのとおりです。jMakiの中心的な機能は、AJAXベースのウィジェットを利用してリッチなGUIを簡単に実装する手段を提供することです。そのため、jMakiはJSPを利用し、タグライブラリによってウィジェットを記述するように設定してあります。要するに、「ウィジェットの組み込みを簡単に行えるようにするために、サーバサイドJavaの技術を使ってある」というだけなのです。実際、Javaを使わず、PHPを利用したjMakiも用意されています。

 AJAXは、「クライアントサイドから非同期通信を使ってサーバにアクセスする技術」という枠を超え、最近では「JavaScriptを利用してよりリッチなWebアプリケーションを構築するための基礎技術」としての役割が重視されつつあるように思えます。実は非同期通信は使っていないけれど、JavaScriptで高度なコンテンツを作成してある――そんなものも今は「AJAX」の仲間として扱われている感があります。よりリッチなGUIを構築する上で、AJAXというキーワードは欠かせないものとなっているのです。

 続々と登場する、JavaScriptを使ったコンポーネントをまとめて簡単に導入できるようにするためのフレームワークとして、jMakiは非常に重要なものとなるでしょう。jMakiには、標準でdojoやGoogle、Yahooといったウィジェットが組み込まれています。jMakiを利用することで、開発者はこうした高度なGUIを、まったくJavaScriptを書くことなく手軽にページの中に組み込み利用することができます。より高度なGUIの構築を考えるなら、jMakiは強力な助っ人となってくれることでしょう。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
特集記事連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1795 2007/10/29 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー