Eclipseで実現するリッチクライアントの世界 1

Eclipse RCPの概要

Eclipse RCPの概要

では、Eclipse RCPの概要について見ていきましょう。

Eclipseといった場合に統合開発環境であるEclipse SDKをイメージする方が多いと思いますが、Eclipseの本当の姿はさまざまなツールを1つに統合するためのオープンなプラットフォームであり、単なる統合開発環境ではありません。Eclipse上に開発に必要なプラグインを追加したものがEclipse SDKであり、別のプラグインを追加していった場合にはまったく別のアプリケーションを作ることができます。

そのEclipseプラットフォームから図1の点線で囲まれている部分を切り出したものがEclipse RCPです。図を見ていただければわかるようにEclipse RCPにはランタイムとGUIコンポーネント(SWT、JFace)、UIといった起動と画面の表示に必要な最低限のセットしか含まれていません。 Eclipse RCPによるアプリケーション開発では、この最低限のセットの上に、既存プラグインの追加や独自のプラグインを作成することになります。

Eclipseプラットフォーム(3.0以降)
図1:Eclipseプラットフォーム(3.0以降)

Eclipse RCPの特徴

ここまでの説明でいくつかでてきましたが、ここで改めてEclipse RCPの特徴についてまとめておきましょう。

Webブラウザ上で動作するものではない

Webブラウザで動作するリッチクライアント技術は、配布は容易ですが、必然的にWebブラウザの様々な制約を受けることになります。Eclipse RCPではそのような制約はありません。

配布のしくみがない

Eclipse RCP単体では配布のしくみを持たないため、配布を自動化するためにはJava Web Startなどの配信のしくみが必要になります。

Javaである

Eclipse RCPの最大の特徴といっても過言ではないのが、Javaでできていることです。若干のルールは覚えなければいけないものの、Javaの技術者が取り組みやすく、世の中に多く存在するJavaのオープンソースソフトウェアを自由に取り込むことができるといった点があげられます。

例えば、グラフ表示や帳票出力機能が欲しい、環境に合わせた通信方式を利用したいなど様々な要求に幅広く対応することができます。

軽快なGUI

Java標準のGUIといえばSwingですが、Eclipse RCPではOSネイティブに実装された、Standard Widget Toolkit(SWT)やSWTの上位APIであるJFaceを使用します。高速な動作を実現するためにマルチプラットフォームというJavaの思想か らは外れていますが、軽快なGUIを実現できます。

Eclipse資産の利用

   更新マネージャや、EMF、GEFといったEclipseのフレームワーク、Eclipseの持つ柔軟なレイアウト機能、既存のプラグインなどEclipseの資産を利用することができるため本格的なアプリケーションを効率的に作成できます。

メンテナンスのしやすさ

Swingはコーディング時の制約が少ないためにメンテナンス性の低いソースコードができあがってしまう可能性がありますが、Eclipse RCPでは拡張ポイントを利用するという基本的なルールが存在するためplugin.xmlをみれば機能や構成が把握でき、メンテナンスもしやすいアプリ ケーションが実現できます。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る