今回は,オープンソースで実現するリッチクライアント技術の最後として「Eclipse RCP」を紹介する。Eclipse RCPはWebブラウザ上で動くものではないという点で,第2回で紹介した「Ajax」,第3回で紹介した「OpenLaszlo」とは大きく異なる特徴をもつ。
Eclipseの“純正”リッチクライアント
Eclipse RCP(Rich Client Platform)はEclipse Foundationからリリースされている,Eclipseの“純正”リッチクライアント・アプリケーション構築プラットフォームである。Eclipse3.xから利用可能になった。
今までもクライアント・サイドのJavaとしてはアプレットやSwingなどのように大きな期待を背負って登場したものがあったが,動作の重さや,開発コストの問題など,期待されていたほどの普及には至っていない。しかし,Eclipse RCPはEclipseの柔軟なレイアウト,フレームワーク,軽快なUI,更新機能など,既存のクライアント・サイドJavaの多くの問題点を解決できる。
このような背景から,Eclipse RCPはクライアント・サイドへのJavaの普及の鍵を握る技術として注目され,国内外で盛んにアプリケーション開発が行われている。
Eclipse RCPの特徴
Eclipseから最小限の機能を抽出
まず,なじみのない方のためにEclipseの構成について簡単に説明しておこう。
Eclipseは図1のようにランタイム,SWT,JFace,UIといった動作に必要な最低限の機能をベースとしている。その上にプラグインと呼ばれる機能拡張を加えていくことで様々な機能を実現する。
今回取り上げているEclipse RCPはこのEclipseプラットフォームから動作に最低限必要な部分を抽出したもの。アプリケーション開発は,このEclipse RCPの上に,必要なプラグインを作成し追加していく作業になる。
例えば,Javaの開発環境としてはデファクト・スダンダードとなったEclipse SDKはEclipseにJavaの開発に必要な機能をプラグインとして追加したものであるが,別のプラグインを追加した場合は業務システムのクライアントなど,まったく異なる機能をもつアプリケーションを作成することができるのである。
それでは,Eclipse RCPによるアプリケーション開発の流れを簡単に見ていこう。