Inpriseより、Java RADツールとして定評のあるJBuilderの最新バージョン「Borland JBuilder 4」が発表された。ここでは「JBuilder 4日本語版フィールドテスト」バージョンに基づいてその概要を紹介する。
JBuilderは、Javaに対応したRAD(Rapid Application Development)ツールとして定評のある製品である。Javaではもともと、Sun Microsystemsから配布されるJSDK(以前はJDKと呼ばれた)が開発ツールとして位置づけられていたため、コマンドラインベースのJava Compilerなどの基本的な開発環境は当初から誰でも無償で入手できたが、さすがに今どきテキストエディタでソースを記述してコマンドラインベースのコンパイラでコンパイルして……、といったスタイルでは生産性の向上は見込めないため、当初から各社からRADツールが提供され、広く使われていた。JBuilderはそうした中でも評価の高い製品の1つである。
JBuilderのバージョンは、バージョン3から3.5を経て4に上がっている。途中で3.5を経たからというわけでもないのだろうが、一見そう大きな変更が行なわれたようには見えない。分かりやすい違いとしては最新のJava 2 v1.3をサポートしていることが挙げられるが、見た目ですぐに分かるような差ではない。しかしながら、特にEnterprise版ではサーバサイドで動作するWebアプリケーション開発を効率よく支援するための機能が充実していることが分かる。エンタープライズアプリケーション開発のための環境として、完成の域に近づきつつあるのではないだろうか。
製品の概要
JBuilder4は、開発環境自体が100% Pure Javaコードで記述されたJavaアプリケーションとなっている。このため、プラットフォームに対する依存性は低く、公式にはWindows、Linux、Solarisの3つのプラットフォームがサポートされている。Linux版の動作環境は、
- RedHat Linux 6.2 / Mandrake 6.x以上 / Caldera OpenLinux 2.3 / SuSE Linux 6.3以上 / TurboLinux 6.0
- X11R6 3.3.x(XFree86)
- glibc 2.1以上
- カーネル 2.2.5以上
- GNOME+Enlightenmnet/Sawfish、KDE+KWM
- Pentium II-233MHz以上
- 128MB以上のメモリ
- 250MB以上のHDD容量
となっている。
製品はFoundation、Professional、Enterpriseの3種類がある。Professionalを中心として、学習用途を主たるターゲットにしたFoundationが下位に、エンタープライズアプリケーション開発のための環境を整備したEnterpriseが上位に位置する、という関係になる。なお、JBuilder 3.5ではFoundationはWebサイトなどを通じて無償配布されており、JBuilder 4でも同様になるものと思われる。詳細は後述するが、Enterpriseのインストールの際にもまずFoundationをインストールし、その後“Enterprise Features”をインストールする、という手順を採ることから、開発環境の基本部分はすべて共通であると考えられる。まずWebからJBuilder 3.5 Foundationを無償で入手して慣れておき、後にJBuilder 4 Enterpriseを導入しても違和感なく使いこなせるだろう。
なお、ベースとなっているJBuilder 4 Foundationも3.5と同様無償公開が予定されている。Foundation / Professional / Enterpriseというラインナップの中での位置づけは「Javaの学習者向け」となるが、実際にはEnterpriseの環境もFoundationをベースに構築されていることからも分かるとおり、開発環境としての機能は高く、使いやすさに関しても定評のあるツールだ。
今バージョンでの主な変更点としては、ベースとなるJavaプラットフォームがJava2 SE v.1.3となったことで高速化のためのダイナミックコンパイラであるHotspotが利用可能になったことと、ソースコードの履歴情報を管理し、ソースコードの変更箇所や履歴をビジュアルに表示できる機能が加えられたことが挙げられる。こうしたバージョン管理の機能は通常は複数の開発者の共同作業を支援する目的などで用意されるものだが、Foundationを個人で学習用途に利用する場合でも、自分の作業の履歴や試行錯誤の過程を後から再確認できると考えれば大変利用価値の高い機能追加だと捉えられるはずだ。