EclipseとNetBeansの違い(内部的な違い)
1.パースペクティブ
Eclipseには、パースペクティブという概念があって、その中にさまざまな環境を定義しますが、NetBeansはパースペクティブという概念がありません。
デバッグの際には、デバッグに必要なWindowが自動的に立ち上がることで、パースペクティブが切り替わるのと同じような状態になります。
2.システム・ファイルシステム
NetBeansには、システム・ファイルシステムという概念があり、開発環境のすべての情報をここで管理します。
Eclipseでは、Eclipseをインストールしたフォルダに「configration」ディレクトリや、ワークスペースとなるディレクトリに「.metadata」ディレクトリがあり、そこに保存するデータを置くことができます。
一方、NetBeansの場合は、NetBeans自体がシステム・ファイルシステムというリポジトリ(データ保存領域)を持っていて、そこにすべての保存すべき内部データを保存する仕組みになっています。
また、プラグインを開発する際には、そのプラグインを使うために、NetBeansに新しくメニューを追加したり、新しいタイプのWindowコンポーネントやデータタイプを定義したりする必要がありますが、それらの情報も、すべてシステム・ファイルシステムから、NetBeansの本体が取得する仕組みになっています。
実際のPlugin開発では、例えば、新しくメニューを加える場合は、Action
クラスを作り、それを「layer.xml」というXMLファイルに登録していくことになります。「layer.xml」に記述した内容はPluginがロードされる際に、システム・ファイルシステムに登録され、それを基にNetBeans本体がプラグインの拡張情報を入手して動作する仕組みになっています。
また、Plugin開発の際には、このlayer.xmlの内容をグラフィカルに見たり編集したりすることができます。
EclipseのPlugin開発の場合は「plugin.xml」を編集しましたが、NetBeansの場合は、この「layer.xml」を編集していくことになります。
NetBeansのプラグイン開発支援機能
NetBeans 5.0のプラグイン開発支援機能はかなり強力です。前節で「layer.xml」へ拡張したPlugin部品の登録が必要だと書きましたが、実は、この登録作業の大半は、NetBeansの新規プラグイン作成ウィザードがほぼ自動的に行ってくれます。
そのためには、まずは、右クリックから新規作成ウィザードを起動します。
その後、[NetBeans Module Development]カテゴリーを選択すると、NetBeansの部品の種類が右側のリストボックスに現れますので、選択して[Next >]を押すと、各部品作成ウィザードが起動します。
今回は、ここで[Action]を選択してみます。
すると、「Action」作成固有のウィザードが起動します。そこに、適当に値を入力していくと、最後のページに到達しますが、ここで特筆すべきことは、どのファイルを新規に作成し、どのファイルに変更を加えるかを表示してくれることです。
この機能により、徐々にNetBeansの開発のコツをつかむことができます。
NetBeansのプラグイン開発におけるデザインパターン
NetBeansの開発は、実際に行ってみて、かなり簡単だと感じました。理由の一つには、NetBeansのGUI関連はほとんどSwingベースなので、Swingを扱った経験のある人ならば、ほとんどすぐに開発が始められることが挙げられます。
GUIの開発について
NetBeanの開発においてGUI部分の開発は、通常のアプリケーションの開発とほぼ同じです。抑えておくポイントとしては、TopComponentというNetBeansのIDE内で表示されるWindowコンポーネントと、それらを管理するWindowManagerを知っておく必要があります。
ファイルリソースについて
NetBeansでは、Eclipseよりも仮想ビューがより発達した形で使われています。NetBeansの画面で、Projectビューとファイルビューという、プロジェクトのツリー構造を表示する2通りの方法がありますが、これを見ると、かなりその辺の違いが分かります。