IntelliJ IDEA 8で見られる、目立った変更点はJetBrains(リンク)のサイトに次のようにリストされている。
- パフォーマンスの改善
- JavaScriptおよびFlex用デバッガ
- Flexのコード編集
- アップデートされたSpring 2.5の統合
- Groovy およびGrailsサポートの改善
- ScalaおよびPythonのサポート
リストには、他のアイテムや上記に記されていない追加情報が含まれている。次に、InfoQの質問に対する回答を示す。
InfoQ: リリースノートのページ以外にIntelliJ IDEA 8で注目すべき変更点は、どのようなものがありますか?
Dmitry Jemerov氏: 内部的に最も大きな変更点は、IntelliJ IDEAから共通の基盤を抜き出すためのリファクタリングを行ったことです。これにより、同一コードベースで他の製品もビルドが可能になります。IntelliJ IDEAプラットフォームはMPS(リンク)により既に使用されており、同一プラットフォームで作られた多くの未発表製品が開発途上にあります。
InfoQ: Flexの統合はどのレベルで提供されますか?Javaと同レベルでしょうか?
DJ: Flexについて、われわれはコード編集のサポートのみに注力しています(MXML用のビジュアルデザイナは、当面の間、完全に対象範囲外としています)。当然、Java のサポートは長期にわたり開発が行われているため、現在のところ、はるかに進んでいます。しかし、Flexのサポートも同様に進めています。最近導入されたFlex用機能には、自動インポートおよびインポートの最適化、コンストラクタとアクセサの生成などがあります。
バージョン8では、Flex用デバッガも追加されており、シームレスなコンパイルのサポートにも取り組んでいます(そのため IDEA 7でプロジェクトのコンパイル時に使用したAntタスクは必要ありません)。
InfoQ: PythonおよびScalaのサポートはどの程度使用できますか?
DJ: まず、PythonもScalaもIntelliJ IDEA 8の最終リリースには組み込まれないという点について述べておきます。プラグインは開発中のため、IDEA 8の最終バージョンがリリースされるまでには、プラグイン・マネージャから個別にダウンロードすることにより、ベータクオリティでの使用が可能になるでしょう。(実際、Scalaのプラグインは既にこちらから使用可能である。http://plugins.intellij.net/plugin/?id=1347
再度触れますが、われわれがサポートする他の言語と同様に基本的な手順で進めています。Scalaについて、主な課題はタイプシステムの全実装を提供することで、それは完全なコード補完に必要となります。われわれが注力しているのはまさにその点です。その他に、構文およびエラーの強調表示、書式設定、構造ビュー、自動インポート、インプリメントとオーバライドなど、一般的な言語サポート機能の大半が用意されています。
Pythonは動的言語であり、全く異なった課題が生じます。しかし、機能セットは最終的に極めて類似するものになるでしょう。また、Python用のデバッガも予定しています。
InfoQ: IDEでIntelliJFX用(リンク) プラグインをファースト・クラス・シチズンにする予定はありますか?
DJ: 今のところ、われわれは「静観しながらの」アプローチを取っています。われわれの見解では、現在、RIAプラットフォーム市場において、FlexはJavaFXに比べ、非常に有力な候補です。われわれのリソースが限られていることを考えれば、Flexに注力すべきでしょう。しかし、十分に普及すればIDEA 9でJavaFXがサポートされる可能性はおおいにあります。
InfoQ: IntelliJ IDEA 8により、MicrosoftのTeam Foundation Serverとの統合がもたらされました。Atlassian(リンク)プラグイン開発を支援し、彼らの製品のファーストクラスとの統合を提供しますか?
DJ: 実際、AtlassianはIntelliJ IDEAプラグインの開発に、われわれがこれまで望んでいた以上のリソースを割り当ててきました。したがって、いかなる追加投資も必要ないと考えています。われわれは、プラグイン開発者と連絡を取り、IntelliJ IDEA APIの使用方法に関して、アドバイスや支援を行います。
InfoQ: IntelliJでは、プロジェクト管理手法(たとえば、Agile、RUP、XPなど)に関するプラグインやサポートは提供されますか?(例として)Eclipse用のプラグインの中には、スプリントのトラッキング、ストーリーの作成、進捗管理表の表示などが用意されています。
DJ: われわれは、IDEのプラグインがそのようなツールの主要なインタフェースであるべきだとは思いません。IDEは主にプロジェクトのソースコードと動作するためのツールであり、スプリントやストーリーとコードとの関連性は非常に低いためです。たとえのちにプロジェクト管理ツールに着手したとしても、おそらく始めは、IntelliJ IDEA用のツールではなくWebベースのツールになるでしょう。
InfoQ: IntelliJ IDEA 8 のテストが終了し最終リリースされる時期として、いつ頃を期待できますか?
DJ: IntelliJ IDEA 8の最終リリースは2008年秋の末頃を予定しています。
InfoQ: 既存ユーザは、IntelliJ IDEA 8のインストーラをダウンロードし、簡単にアップグレードを行えますか?
DJ: IntelliJ IDEA 8への無償アップグレードはありません。(ユーザは通常のアップグレード料金を支払うか、新バージョンを30日間試用できます)しかし、新バージョンのインストールはこれまで同様簡単な手順で行えるでしょう。
InfoQ: ユーザは、今後のIntelliJ IDEAにどのようなことを期待できますか?
DJ: IDEA 8以降のバージョンについて、明確なプランはまだ公表できませんが、はっきり言えることは、Java EE 6のフルサポートを期待してもよいでしょう。もちろん、Java SE 7の新しい言語機能も、現在議論されているJSRのうち、リリース対象と除外対象が明らかになり次第サポートする予定です。
その他、言語サポートの強化、フレームワーク化の促進、新たなリファクタリング機能やテスト機能など、通常の機能も確実に提供する予定です。
結論
JetBrainsは引き続きIDEの提供に注目している。それは、JavaだけでなくGroovy、Python、JavaScript、Flex、Scalaおよびその他の言語を使用する開発者を対象としたリストのトップに位置づけされている。注目すべき点として、JavaFXのさらなるサポートや、おそらく、タスク関連のプロジェクト管理を行うウェブベースのツールなどがある。IntelliJ IDEA 8に関する詳細はこちら(リンク)を参照されたい。