はじめに
この記事は、Eclipseのプラグイン開発を行った経験のある人が、NetBeansでも同じようなプラグインを開発しようと思ったときに、一番最初に読んでもらえると良い内容を書いています。
NetBeansのPluginモジュールは、http://platform.netbeans.org/から入手可能です。
お勧めの読み方は、まずは、いろいろとPluginモジュールのサンプルソースコードのチュートリアルが用意されていますので、それらを読み進めていくことです。
しかし、Eclipseに慣れていると、NetBeansとのポリシーの違いから、つまずいてしまう箇所があると思うので、この記事の前半では、お互いのポリシーの違いを、まずはユーザーの立場に立って説明しています。
また、後半は、かなりコアなNetBeansPluginモジュールの開発のトピックについて、ソースコードと共に開発しています。
ファイルタイプとそれを開くエディタの結びつきなどは、NetBeansではデザインパターン、EclipseではXMLファイルで表現しているため、かなりポリシーが違い、しかも、この部分はプラグイン実装の際にほとんどのケースで必要になってくるので、今回取り上げて見ました。
EclipseとNetBeans
Eclipseは、Pluginとして非常に高度なモジュール化が成された開発環境として有名です。が、NetBeansはどうかと言うと、あまり知られていないのが現状です。実際に使ってみて、NetBeans 5.0は非常に高度な開発環境でした。
筆者は、もともとEclipseの製品を開発していますが、NetBeans用にPluginを開発する際、非常に短期間でこなすことができました。
EclipseとNetBeansの違い(ユーザーから見た違い)
EclipseとNetBeansは、どちらもJavaに対応した開発環境なので、似かよった特徴を持っていますが、ポリシーの違いから差異も多々あります。
EclipseとNetBeansのユーザーサイドに立ったときの違いとして、以下が挙げられます。
1.プロジェクトの違い
NetBeansの場合は、Antがすべてのベースになっていて、NetBeansのプロジェクト自体のビルドが、NetBeans内部に搭載されたAntによって行われるようになっています。そのため、プロジェクトに対する設定などは、NetBeansプロジェクトが持っているビルドスクリプトに反映されます。
Eclipseの場合は、すべてをAntに頼るわけでなく、単純にEclipse内部のコンパイラが、ソースフォルダとして指定されたフォルダ内のソースをコンパイルして、出力先フォルダにコンパイル済みクラスとして出力します。
Eclipseも、もちろんAntとの併用が可能ですが、NetBeansの場合は、Antスクリプトがすべてのベースになっているので、NetBeansがなくてもAntさえあれば、プロジェクトのフォルダから、その中の「build.xml」を実行してビルドできるのが大きな特徴です。
2.エラー表示の違い
Eclipseではマーカーという仕組みがあって、Javaなどでコンパイルエラーが発生すると、[Problem]ビューにエラーの箇所が赤い×印と共に表示されます。さらに、この部分をダブルクリックすると、その部分にジャンプできます。その代わり、Javaをビルドした際のメッセージなどは表示されません。
逆に、NetBeansでは、マーカーの仕組みはなく、ビルドした時点でビルドログがアウトプットフォルダに表示され、その中でエラーが表示されます。[Problem]ビューのようなものはありませんが、Javaのソースコードをエディタで開くと、Eclipseと同様にエラーの場所がマーキングされます。
これらは、EclipseがGUIベース、NetBeansがAntベースであるというポリシーの違いから来ているものと思われます。
ただ、この違いは、Pluginを実装する開発者の立場からすると結構大きな違いで、この違いを最初から意識して、プログラム的にこの違いを吸収するのではなく、各ポリシーにあった要件にして吸収することが大事です。
3.デフォルトの設定の違い
Eclipseは、デフォルトでは、TomcatやDBの中身を編集したりする仕組みはありません。それらの機能は、各個人が好きなプラグインをインストールして、自分好みの環境を作るという玄人好みの仕様です。
一方、NetBeansの場合は、最初からJDBC経由でDBの中身を見られたり、TomcatやJBoss、SUNのサーバーを開発環境で立ち上げて、Webアプリケーションが実行される様子をデバッガで追える環境などが用意されています。
特に、デフォルトで内蔵されているTomcatは、Javaをこれから勉強される方が、実際にプログラムを動かして勉強をする際に、NetBeansをインストールするだけで即環境が整うため、非常に役立ちます。