目次


プラグイン開発入門

第 2 回 リッチ・クライアント・アプリケーションの導入

プラグイン開発とリッチ・クライアント・アプリケーションの基本を学ぶ

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: プラグイン開発入門

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:プラグイン開発入門

このシリーズの続きに乞うご期待。

この「プラグイン開発入門」シリーズの記事では、プラグインの開発に関するすべてを学びます。しかし始める前に、プラグインを開発するために適切な環境が用意できていることを確認する必要があります。最初のステップは、PDE (Plug-in Development Environment) が含まれている Eclipse のディストリビューションを Eclipse.org からダウンロードすることです。ここでは、Eclipse Classic の最新バージョンをダウンロードすることをお勧めします。このシリーズでは、Eclipse V3.4 のマイルストーン・リリース (M5) を使います。ダウンロードが終われば準備は完了です。(「参考文献」には、Eclipse が初めての人のために、Eclipse とその背景情報をどこから入手すればよいかを説明してあります。)

この記事ではプラグイン開発を理解しやすくするために、図 1 に詳述するワークフローに従います。このシリーズの第 1 回では、このワークフローの最初の 5 つのステップに焦点を当てています。今回は残りの 2 つのステップを説明し、またリッチ・クライアント・アプリケーションの導入に焦点を当てます。

図 1. プラグイン開発のワークフロー
プラグイン開発のワークフロー
プラグイン開発のワークフロー

ビルド

ビルド用にコンテンツを構成する作業は、プラグイン開発の作業の重要なステップです。Eclipse では、プラグイン開発のうちのビルドに関連するすべての構成は build.properties の中にあります。

図 2. ビルドの構成 (build.properties)
ビルドの構成 (build.properties)
ビルドの構成 (build.properties)

ビルド構成用のサンプル・コンテンツの中心は、MANIFEST.MF、plugin.xml、そしてアイコン・ファイルです。また国際化サポート用の plugin.properties や、ライセンス・ファイルのような成果物も含まれるかもしれません。バイナリー・ビルドに含まれるものとソース・ビルドに含まれるものの違いに注意することが重要です。通常、Eclipse からプラグインをエクスポートする場合、そのプラグインは、他の人達が彼らの Eclipse システムで使用することができる単なるバイナリー・プラグインのエクスポートになります。Source Build は作業対象のプラグインのソースを含んでいる必要があります。通常のエクスポート操作の際に、ソース・ビルドを行うように選択することもできます。

エクスポート

典型的なプラグイン開発者のワークフローの最後のステップは、作成したプラグインをエクスポートすることです。Eclipse の PDE では、このプロセスを特別なエクスポート・ウィザードを使って容易に行うことができます。このウィザード (図 3) を利用するには、File > Export の順にクリックし、Plug-in Development カテゴリーの下にある Deployable Plug-ins and Fragments (デプロイ可能なプラグインおよびフラグメント) を選択します。

図 3. プラグインの Export (エクスポート) ウィザード
プラグインの Export (エクスポート) ウィザード
プラグインの Export (エクスポート) ウィザード

このウィザードの中では、まずどのプラグインをエクスポートするのかを選択します。この場合は、簡単な helloworld プラグインをエクスポートします。次のステップは、このプラグインのエクスポート先を選択することです。エクスポート先としては、ZIP ファイルの中にエクスポートすることも、ディレクトリーの中にエクスポートすることもできます。このウィザードの他の選択項目として、プラグインに署名する機能や、プラグインにソースをバンドルする機能などを利用することもできますが、ここではそれらを無視して Finish をクリックし、このプラグインをエクスポートします (図 4)。プラグイン・マニフェスト・エディターの Overview ページには、このウィザードを簡単に起動できるハイパーリンクが用意されていることに注意してください。

図 4. ディスク上にエクスポートされたプラグイン
ディスク上にエクスポートされたプラグイン
ディスク上にエクスポートされたプラグイン

これで終わりです。Eclipse のワークスペースからプラグインを取り出し、使用可能な形式でハードディスク上に置くために必要なことは、これだけです。いったんこの形式になれば、同僚や友人にプラグインを容易に配布することができます。これでプラグイン開発のワークフローに焦点を当てた説明は終わりましたが、基本がわかったので、Eclipse の中でリッチ・クライアント・アプリケーションを作成するために何が必要なのかを調べる作業を始めましょう。

製品構成

リッチ・クライアント・アプリケーションを作成するためには、製品構成 (Product Configuration) と呼ばれる概念を扱う必要があります。製品構成は、リッチ・クライアント・アプリケーションを構築するための手段として PDE が提供しているものです。製品構成を理解するためには、作業するためのサンプルとなる簡単なリッチ・クライアント・アプリケーションが必要です。そうしたアプリケーションを、第 1 回で説明した PDE のテンプレート機構を利用して作成します。まず rcp という名前のプラグイン・プロジェクトを作成し、このプロジェクトがリッチ・クライアント・アプリケーションであることを必ず指定し、それからテンプレートとして RCP Application with a view (ビューを持つ RCP アプリケーション) を選択します (図 5)。

図 5. リッチ・クライアント・アプリケーションのテンプレート
リッチ・クライアント・アプリケーションのテンプレート
リッチ・クライアント・アプリケーションのテンプレート

次のステップは、先ほど作成したリッチ・クライアント・アプリケーションを組み立てる上での補助となる、製品構成ファイルを作成することです。新しい製品構成を作成するためには、プラグイン・プロジェクトを右クリックし、New > Product Configuration の順に選択して New Product Configuration ウィザードを起動します (図 6)。すべてのデフォルトを受け入れ、製品構成ファイルの名前を rcp.product とし、Finish をクリックして製品構成エディターを起動します。以下のセクションでは、製品構成エディターのさまざまなページについて説明します。

図 6. New Product Configuration ウィザード
New Product Configuration ウィザード
New Product Configuration ウィザード

Overview タブ

プラグイン・マニフェスト・エディターの場合と同じように、製品構成エディターで最初に表示されるページは Overview タブです (図 7)。このページは、製品構成の簡単な概要や、製品をテストしたりエクスポートしたりするために便利なリンクを表示し、またこの製品がプラグインをベースにするのかフィーチャーをベースにするのかを選択する機能も持っています。アプリケーションを簡単にテストするためには、Testing セクションの Launch an Eclipse application (Eclipse アプリケーションを起動) リンクを選択し、そのリッチ・クライアント・アプリケーションがどのようなものかを調べます。

図 7. Overview タブ
Overview タブ
Overview タブ

製品構成エディターの Overview タブに関しては、これがすべてです。もし、製品構成に関して行える基本的な操作に興味を持った場合には、Overview へ戻ってください。

また、ここからアプリケーションを起動することもできます。例えば、Launch an Eclipse application (製品を起動します) をクリックすると、アプリケーションがポップ・アップされて表示されるはずです (図 8)。

図 8. アプリケーションの起動
アプリケーションの起動
アプリケーションの起動

Configuration タブ

Configuration タブには、製品を実行するために必要な基本的なビルディング・ブロックが含まれています。この中には、その製品を実行するために必要な成果物などの情報も含まれます。最初のセクション、Plug-ins and Fragments (プラグインおよびフラグメント) は、その製品を実行するために必要なプラグインとフラグメントを一覧表示しています。ここで役に立つヒントを 1 つ挙げておくと、製品に関して作業を行っている際に依存関係が導入されることがありますが、そうなった場合は、必ず Add Required Plug-ins (必須プラグインの追加) を選択し、製品構成に何かを追加する必要があるかどうかを判断させるようにします。

次のセクション (Configuration File (構成ファイル)) は、config.ini ファイルという、OSGi 特有の成果物を表します。約 99.9 % の場合、この設定をこのままにして Eclipse に config.ini ファイルを生成させる必要があります。このファイルに含まれているものはすべて、実は先ほどのプラグインとフラグメントのセクションで指定されたものですが、Eclipse が起動時に認識できる、特別なフォーマットになっています。

図 9. Configuration タブ
Configuration タブ
Configuration タブ

Launching タブ

Launching タブには、Eclipse ベースの製品の起動に必要なすべての情報が含まれています。Java Runtime Environment (Java ランタイム環境) セクションでは、プラットフォーム専用の JRE を手軽にバンドルすることができます。Program Launcher (プログラム・ランチャー) セクションでは、製品起動用の実行可能ファイルをカスタマイズすることができます。例えば、ランチャーの実行可能ファイルの名前として、eclipse.exe 以外の名前を付けたいことがよくあります。このセクションでは、ランチャーの実行可能ファイルに名前を付けられることに加え、その実行可能ファイルがプラットフォーム特有のアイコンを使うように指定することもできます。Launching Arguments (起動引数) セクションでは、その製品に対する、プラットフォーム特有の起動パラメーターを指定することができます。これは、あるオペレーティング・システム (例えば Mac OS X など) に対して特別な動作が必要な場合に便利なことがあります。

図 10. Launching タブ
Launching タブ
Launching タブ

Splash タブ

Splash タブでは、その製品のスプラッシュ画面を必要に応じて構成することができます (図 11)。例えば、Eclipse を起動すると簡単なスプラッシュ画面が表示され、その画面には Eclipse のロゴと、プラグインのロードの進行状況が表示されます。デフォルトで、サンプルの RCP アプリケーションには簡単なビットマップ・ベースのスプラッシュ画面が付属しています。しかし、スプラッシュ画面を使って面白いことができることを示すために、ログイン用のスプラッシュ画面のテンプレートを利用してみましょう (これは Customization (カスタマイズ) セクションで行います)。ログイン用のテンプレートを選択したら、製品構成を保存し、アプリケーションを起動します。

図 11. Splash タブ
Splash タブ
Splash タブ

新しいスプラッシュ画面にログインとパスワードの入力があることに注目してください。

図 12. カスタムのスプラッシュ画面
カスタムのスプラッシュ画面
カスタムのスプラッシュ画面

Branding タブ

Branding タブ (図 13) では、3 つのことができます。つまりウィンドウ画像のカスタマイズ、カスタムの about ダイアログの作成、そしてオプションとしてのウェルカム・ページの作成、という 3 つです。ウィンドウ画像というのは、単純にアプリケーションのシェル・ウィンドウに関連付けられている画像です。例えば、Eclipse を起動すると、タイトル・バーには 16x16 の小さな Eclipse のアイコンがあります。こうしたタイプのアイコンをカスタマイズすることができます。また、大部分のソフトウェア・アプリケーションには、ライセンス情報や作成者、バージョン情報などを一覧表示する、何らかの形式の about ダイアログがあります。製品構成エディターでは、Eclipse の既存の about ダイアログを再利用することができますが、そのダイアログを独自の画像や情報でカスタマイズすることもできます。

ウェルカム・ページは、ユーザーがアプリケーションについて理解するための助けとなるために作成されるページです。例えば、Eclipse のデフォルトのウェルカム・ページを表示するためには、メニュー項目の Help > Welcome を選択します。これと同じようなウェルカム・ページをアプリケーションで使用したい場合には、その作業を Branding タブの Welcome Page (ウェルカム・ページ) セクションで行います。ウェルカム・ページの作成については、この記事では説明しませんが、詳しく学ぶために、Eclipse のユーザー補助技術に関する情報を「参考文献」に挙げてあります。

図 13. Branding タブ
Branding タブ
Branding タブ

まとめ

この「プラグイン開発入門」シリーズの全体としての目的は、いくつかのベスト・プラクティスを交えながらプラグイン開発の基本を紹介することでした。その目的を達成するために、第 1 回ではプラグインのサンプルを作成し、典型的なプラグイン開発のワークフローを順を追って説明しました。第 2 回では、プラグイン開発のワークフローの残りの部分を説明し、リッチ・クライアント・アプリケーションを作成しました。このワークフローをマスターできると、プラグインの開発や Eclipse の RCP をベースとするアプリケーションの開発がずっと容易になります。

では早速、新しく学んだ知識を使って、プラグインと、Eclipse ベースのアプリケーションを作成してみてください。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=302899
ArticleTitle=プラグイン開発入門: 第 2 回 リッチ・クライアント・アプリケーションの導入
publish-date=04012008