はじめに
Javaの開発環境と言えばEclipseが主流ですが、最近は徐々にNetBeansの勢いも増しています。NetBeansはサン・マイクロシステムズが主に開発を進めているオープンソースの開発環境です。
Tomcatを含め必要な機能がすべてインストールされるので、Eclipseのようなインストールや設定の煩わしさはありません。また最近ではVMの改善でSwingの速度が向上してきたため、Eclipseと比べても速度の面で遜色はありません。
プラグインが少ないと言われていますが、あらかじめ必要な機能が揃っているので、追加のプラグインがあまり必要ないことも理由のひとつです。ただ、やはり大きい理由はNetBeans 4.1までプラグイン作成用のプロジェクトがなく資料も揃っていなかったために、プラグイン作成の敷居が高かったことでしょう。
NetBeans 5.0からはプラグイン用プロジェクトなど、プラグイン作成のサポートが充実したため、NetBeans用のプラグインがすごい勢いで増え始めています。本稿では、そのプラグイン作成機能を使ってNetBeansを拡張するときに必要となるNetBeansのAPIを解説します。
Eclipseでは拡張コンポーネントを「プラグイン」と言いますが、NetBeansでは「モジュール」と呼びます。以降ではプラグインという言葉ではなくモジュールという言葉を使います。
対象読者
NetBeansを拡張してみたい方や、NetBeans Platformを使ったアプリケーションを作成してみたい方を対象にします。
また、Javaの基本的な知識があるものとします。Swingについても少し知っているほうが望ましいです。
必要な環境
J2SE 5.0と、NetBeans 5.0日本語版をベースに解説します。
NetBeans Platformとは
NetBeans Platformは、NetBeans APIをベースとした独立したアプリケーションを作成するフレームワークです。実際の作成の仕方は、NetBeansのモジュールを作成して、アプリケーションに必要ないデータベースやWebアプリケーションの機能を削っていくという感じになります。
そのため、NetBeansのモジュールを作れるようになれば、NetBeans Platformを利用したアプリケーションも作れるようになります。
NetBeans Platformで作れるアプリケーションは、おおざっぱに言えば「NetBeansのようなアプリケーション」です。つまり、フォルダツリーを表示して、ファイルを編集するようなアプリケーションが最もNetBeans Platformに向いているアプリケーションと言えます。
逆に固定画面のダイアログベースのアプリケーションであれば、あまりNetBeans Platformに向いているとは言えません。ダイアログ切り替えでデータベースのデータを編集するような業務アプリケーションでは、NetBeans Platformのありがたみはあまりないように思います。
Eclipseと比べてNetBeansの有利なところ
開発プラットフォームとして見た時に、NetBeansの有利な点を2つ挙げることができます。
一つはSwingであるという点です。EclipseはSWTというGUIライブラリをベースにしているため、SWTを勉強する必要があります。また最近のVMではSwingの速度も改善されていて、速度面ではSWTを使うメリットはほとんどありません。
NetBeansは、Java標準のライブラリであるSwingをベースにしています。Swingであればある程度知識のある開発者も多いですし、書籍やWeb上の資料も豊富です。また、NetBeansは優れたGUIエディタを持っているので、画面の構築も行いやすいことも挙げられます。
もう一つNetBeansの有利な点は、データベース接続やWebアプリケーションなど、アプリケーション作成で必要になる仕組みを最初から備えている点です。そのためデータベースや「web.xml」などを参照するモジュールがNetBeansのAPIを使って作成できます。
次期バージョンのNetBeans 5.5では、EJB 3などJava EE 5にも完全対応するため、ドキュメントの充実度にもよりますが最新のアプリケーション作成手法に対応したモジュールも作りやすくなるかもしれません。