Eclipse プラットフォームは、コア・ランタイム・エンジン、およびプラットフォームのプラグインとしてインストールされている追加フィーチャーのセットとして構造化されています。プラグインは、事前定義された拡張ポイントに機能を追加することにより、プラットフォームに機能を提供します。ワークベンチの UI は、そのようなプラグインによって提供されています。ワークベンチの始動時には、1 つの Java プログラムも開始していません。登録されているプラグインを動的に検出し、それらを必要に応じて開始することのできるプラットフォームのランタイムをアクティブにしているのです。
プラットフォームを拡張するコードを提供する場合、プラグインにシステム拡張を定義します。プラットフォームには、プラットフォームにフックし、システムの振る舞いを追加する場所である、明確な拡張ポイントのセットがあります。プラットフォームの観点からは、開発者が作成するプラグインは、リソース管理システムまたはワークベンチ自体のように、基本プラグインと異なるところはありません。
では、どのようにしてコードをプラグインにするのでしょうか
プラグインの作成プロセスについては、定番の "Hello World" をプラグインとしてインプリメントするのが最も良い例です。この例の目的は、プラグイン開発と Java アプリケーション開発の相違点を示すことです。プラグインをビルドし、実行するために、ここでは詳細については説明しません。次に、さらに詳しく拡張ポイントを調べ、それらをどこで定義するかを説明し、プラグインが拡張の実装をどのように記述しているのかを学びます。