はじめに
これまでAjaxを利用したフレームワークをいくつかとりあげてきました。今やGUIにJavaScriptは不可欠です。JavaScriptを駆使したコンポーネントを利用するためのJavaプログラマー向けフレームワークは多数登場していますが、それらは基本的に「サーバーサイドに用意したJavaのプログラムからJavaScriptのコードを自動生成する」というものでした。これはこれで便利ですが、そうなるとクールなGUI部分を「すべてJavaで作らないといけない」ことになってしまいます。部分的に「このページはサーバー側の処理は不要なんだけど」という場合でも、すべてサーバー側にJavaでコードを用意しなければいけません。といって、そのためだけにわざわざ特定のページ用にjQueryなどを用意するのも変ですし、そのページだけがらりとコードが違ってしまうのも困ります。
こうした「サーバーサイドとクライアントサイド、どちらかで実装しないといけない」という問題に、面白い解決法を提供するフレームワークが存在します。それが「Echo Framework」(以下、Echo)です。Echoは、同じGUIを、サーバーサイドとクライアントサイドの両方で同じように作ることができるのです。
Echoは、リッチなGUIを提供するプレゼンテーション層に限定されたフレームワークです。Echoは、GUIを2通りのやり方で実装することができます。1つは、Javaによる実装。これは、完全にJavaのクラスだけでWebページを作成するやり方です。テンプレートとなるファイルなども不要で、すべてJavaのコードだけでページを作成できてしまいます。もちろん、これはすべてサーバー側にプログラムを設置し、そこからページを生成します。
そしてもう一つは、JavaScriptによる実装です。これはクライアントサイドに記述します。非常に面白いことに、そこで記述されるJavaScriptのコードは、Javaのコードとほぼ同じ形になっているのです。もちろん、両者は別の言語ですから細かな記述は異なりますが、クラスの構成やプロパティ、メソッドの実装の仕方は両者ともほぼ共通しており、同じ感覚で記述できるのです。
対象読者
- Javaで手ごろなフレームワークを探している技術者。
- 最近のフレームワークをごくざっと理解しておきたい方。
- Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ。
Echoの入手とインストール
Echoは、NextApp, Inc.が開発するWebフレームワークです。これは現在、Echo2とEcho3という2つのバージョンが並行して公開されています。Echo2が正式リリースされている最新のバージョンで、Echo3は現在ベータ版が公開されている段階です。ただ、ベータといっても、すでに3.0.beta8となっており基本的な部分はほぼ完成していますので、あとは正式公開に向けて細かな修正などを行っているところでしょう。そこで、今回はEcho3を使ってみることにします。ダウンロードページにアクセスし、Echo3をダウンロードしてください。
ダウンロードされたZipファイルを展開すると、いくつかのフォルダが作成されます。この中で重要になるのは以下の2つのフォルダです。
- JavaLibraries――Javaのライブラリファイル。これがEchoのサーバーサイド開発に必要なライブラリです。
- JavaScriptLibraries――JavaScriptのスクリプトファイル。これがEchoのクライアントサイド開発に必要なライブラリです。
サーバーサイドJavaで開発する場合、「JavaLibraries」内にあるJarファイルをコピーし、WEB-INF/lib内にコピーして利用します。またクライアントサイド(JavaScriptによる開発)で利用する場合は、「JavaScriptLibraries」内にあるスクリプトファイルをすべてコピーし、使用するWebサイトの任意の場所に配置して、HTML内からそれらをロードしてください。基本的なインストール作業はこれだけです。サーバーサイド、クライアントサイド、どちらを利用するにしても、「必要なライブラリをコピーするだけ」で、それ以外に細かな設定などは不要です。