IntelliJ IDEAがついにOSS化

JetBrainsは10月、IntelliJ IDEAをオープンソース化すると発表した。IntelliJ IDEAは老舗のJava統合開発環境で、EclipseやNetBeansといったオープンソースの統合開発環境が普及した現在でも根強い人気を集めている。

IntelliJ IDEAはこれまでOSS開発者向けに無償でライセンスを提供したりはしていたものの、基本的には有償の製品として提供されていたが、ここにきてついにオープンソース化に踏み切った格好だ。現在は有償版/OSS版ともに時期版であるIntelliJ IDEA 9.0のプレビュー版が公開されている。

今回はOSS版であるIntelliJ IDEA Community Editionについて紹介したい。

OSS版と製品版との違い

今回オープンソース化されたCommunity Editionには、有償のUltimate Editionで提供されている機能のうち、以下のような機能についてはCommunity Editionには含まれていない。

  • UMLダイアグラム
  • JSP、JavaScriptのデバッグ
  • Ruby、Python、PHP、JavaScriptなどのサポート
  • 商用のバージョン管理システムとの連携機能
  • Webアプリケーション開発、Jav aEE開発向けの機能
  • アプリケーションサーバのサポート

とくにJava開発において最も利用機会の多いであろうWebアプリケーションの開発がサポートされていないという点には注意が必要だ。反面、Community EditionではGroovyやScalaがサポートされているのは大きな特徴だ。

なお、IntelliJ IDEA Community EditionのライセンスはApache License 2.0となっている。

GroovyやScalaを強力サポート

Community Edition最大の特徴は標準でGroovyをサポートしていることだ(残念ながらUltimate EditionでサポートされているGrailsの開発支援機能については含まれていない)。また、プラグインを追加インストールすることでScalaでの開発もサポートされる。Scalaプラグインはこちらから入手することができる。

図1 Javaプロジェクトの作成時にGroovyとScalaを選択可能

図2 Scalaのコード補完機能

これらの言語向けの支援機能は他のJava IDEと比較してもかなり充実しており、GroovyやScalaを試してみたい開発者にとってIntelliJ IDEA Community Editionは有力な選択肢となることだろう。

Java開発はGUIアプリ、Mavenに対応

Java開発ではSwingを使用したGUIアプリケーションの開発に対応している。GUIデザイナの動作は軽快で、JGoodiesやIntelliJ IDEA独自のレイアウトマネージャも用意されており使いやすい。

図3 Swing向けのGUIデザイナ

また、Mavenを標準でサポートしており、pom.xmlの編集時にグループやアーティファクトを補完することができるほか、Maven Projectsビューから任意のゴールを実行することができる。ただし、別途Mavenをインストールしておく必要がある。

図4 Mavenのサポート

バージョン管理システムとの連携機能も充実

チーム開発に欠かせないバージョン管理システムとの連携機能だが、Eclipseではいまだに標準ではCVSしかサポートされていないという惨状だ(NetBeansでは標準でCVS、Subversion、Mercurialがサポートされている)。IntelliJ IDEA Community EditionではCVS、Subversion、GitとメジャーなVCSが一通りサポートされている。ただし、Gitについては別途インストールしておく必要がある。Windowsの場合はmsysgitなどを使用するといいだろう。

図5 Version Controlメニュー

図6 Gitの場合のコンテキストメニュー

なお、有償のUlutimate Editionではその他にもClearCase、Perforce、StarTeam、Visual SourceSafeといった商用のバージョン管理システムがサポートされている。

まとめ

本稿で紹介したようにIntelliJ IDEA Community Editionは機能が限定されており、残念ながらいまのところEclipseやNetBeansといった他のオープンソース統合開発環境と同列に語るべきプロダクトではないだろう。しかし、これまでIntelliJ IDEAに興味はあるものの商用製品ということで試すことのできなかったユーザや、GroovyやScalaでの開発を行おうと考えているユーザにとっては今回のオープンソース化は朗報といえるのではないだろうか。

また、オープンソース化によって今後はサードパーティ製のプラグインがオープンソースで活発に開発されていくことも考えられる。JetBrainsの今後のOSS戦略の展開に期待したいところだ。