Eclipse Helios のツアー

Eclipse の最新同時リリースに盛り込まれた新機能を探る

39 の Eclipse プロジェクトと 3300 万行のコードを同時にリリースする Eclipse Helios には、Eclipse エコシステムの多様性とその内部で進んでいる革新が明らかに現れています。この記事では、Helios 同時リリースに含まれるいくつかのプロジェクトの概要と、それらのプロジェクトの詳細を記載しているリソースへのリンクを併せて紹介します。

Chris Aniszczyk, Principal Software Engineer, Red Hat Inc.

Chris AniszczykEclipse PDE (Plug-in Development Environment) プロジェクトの共同リーダーを務める Chris Aniszczyk は、Red Hat の主任ソフトウェア・エンジニアです。『The Eclipse Rich Client Platform』の共著者であり、Eclipse コミュニティーの Top Ambassador および Top Committer の受賞者として知られる彼は、さまざまな Eclipse プロジェクトに貢献し、Eclipse コミュニティー内の至る所に姿を現しています。彼は Eclipse Architecture Council、Eclipse Planning Council のメンバーで、Eclipse Foundation の理事会ではコミッター代表を務めるという名誉を授かっています。彼は冷たい飲み物を口にしながら、オープンソースや Eclipse に関する議論にいつでも応じてくれます。ここをクリックすると、彼のブログを読めます。また、Twitter で @caniszczyk を指定して彼をフォローしてください。



2010年 6月 15日

Helios は 39 の Eclipse プロジェクトの同時リリースです。統計から言うと、Helios リリースには 44 社の企業から約 500 人の Eclipse.org コミッターが関与し、彼らが開発した 3300 万行のコードが含まれています。Helios および Eclipse の同時リリース全般に関して重要な点は、同時リリースとは言っても、各リリースに含まれるプロジェクトは統合されているわけではないことです。いずれのプロジェクトも Eclipse.org 内で独立したオープンソース・プロジェクトとして、それぞれに固有のプロジェクト・リーダーシップ、コミッター、開発計画で推進されています。同時リリースという概念は、透過的かつ予測可能な開発サイクルを提供することを目的としています。

Helios を入手する

Helio 関連のプロジェクトを入手するには、主に 2 つの方法があります。推奨されている方法は、自分に関係するパッケージだけを取得する方法です。もう 1 つの方法は、Eclipse.org の Helios ソフトウェア・リポジトリー経由で入手する方法です。

図 1. Helios パッケージ
さまざまな Helios パッケージが示されたスクリーン・ショット

パッケージ

Eclipse Helios Packages サイトにアクセスしてください。このパッケージ・サイトには、それぞれのニーズに合わせてあらかじめバンドルされた 12 の Helios バージョンが揃っています。

Helios リポジトリー

ソフトウェア・リポジトリーを利用して Helios を入手する場合は、Eclipse V3.6 SDK をダウンロードしてください。ダウンロードした後、Eclipse を起動して「Help (ヘルプ)」 > 「Software Updates (新規ソフトウェアのインストール)」の順に選択すると、ソフトウェア更新メカニズムを使用することができます (図 2 を参照)。Helios リポジトリー情報がまだ登録されていない場合は、適切な情報を入力します。リポジトリーに接続されると、Helios リリースに含まれる入手可能なプロジェクトの一覧が表示されます。手順はたったこれだけです。リポジトリーに接続しさえすれば、後はお使いのEclipse にインストールしたいフィーチャーを選択することができます。

図 2. Helios リポジトリーの参照
Helios に含まれるさまざまなフィーチャーが示されたスクリーン・ショット

Eclipse Marketplace

重要な点として、Eclipse マーケットプレイスは Eclipse Helios リリースの一部として開始されました。Eclipse Marketplace は Eclipse コミュニティーに、Eclipse 関連のオープンソースおよび商用のオファリングを検索するために使える便利なポータルを提供します。Helios をパッケージでダウンロードした場合、「Help (ヘルプ)」 > 「Eclipse Marketplace (Eclipse マーケットプレイス)」の順に選択して Eclipse マーケットプレイス・クライアントにアクセスすると、簡単に Eclipse マーケットプレイスのオファリングを参照して Eclipse にインストールすることができます (図 3 を参照)。

図 3. Eclipse マーケットプレイスの参照
Eclipse マーケットプレイスに一覧表示されたプロジェクトのスクリーン・ショット

プロジェクト

表 1. Helios リリースのプロジェクト
プロジェクト概要Web サイト
AcceleoOMG MOF MTL (Model to Text Language) 標準の実用的実装http://eclipse.org/acceleo
ATF (Accessibility Tools Framework)障害者を対象としたアプリケーションおよびコンテンツの作成http://eclipse.org/actf
Amalgamパッケージングおよびユーザビリティーが改善された Eclipse モデリング・プロジェクトhttp://eclipse.org/amalgamlgam
ATL (Atlas Transformation Language)モデル変換言語およびツールキットhttp://eclipse.org/m2m/atl
BPMN Modelerビジネス・アナリストを対象としたビジネス・プロセス図エディターhttp://eclipse.org/bpmn
Buckminsterプロセスのビルド、アセンブル、デプロイを自動化するためのフレームワークとツールの一式http://eclipse.org/buckminster
BIRT (Business Intelligence and Reporting Tools)レポートの生成http://eclipse.org/birt
CDT (C/C++ Development Tooling)C/C++ 言語でのコーディングhttp://eclipse.org/cdt
CDO (Connected Data Objects) Model RepositoryEMF モデルおよびメタモデルのための分散共有モデル・フレームワークhttp://eclipse.org/cdo
DaliJava™ パーシスタンス・ツールhttp://eclipse.org/dali
DTP (Data Tools Platform)データベースを操作するための拡張可能なフレームワーク兼ツールhttp://eclipse.org/datatools
DLTK (Dynamic Languages Toolkit)動的言語を操作するための拡張可能なフレームワーク兼ツールhttp://eclipse.org/dltk
ECF (Eclipse Communication Framework)分散ツールおよびアプリケーションの開発をサポートするためのフレームワークhttp://eclipse.org/ecf
EclipseLinkアプリケーションへのパーシスタンスの追加http://eclipse.org/eclipselink
EMF (Eclipse Modeling Framework)モデリング・フレームワークおよびコード生成機能http://eclipse.org/emf
EPP (Eclipse Packaging Project)パッケージおよび Eclipse ディストリビューションの作成http://eclipse.org/epp
Ecore Toolsグラフィックによる EMF モデルの編集http://eclipse.org/modeling/emft/?project=ecoretools
EGitEclipse内での Git の使用http://eclipse.org/egit
EMF CompareEMF モデルの比較およびマージのサポートhttp://eclipse.org/modeling/emft/?project=compare
EquinoxOSGi コア・フレームワーク仕様の実装http://eclipse.org/equinox
EEF (Extended Editing Framework)EMF モデル編集方法の改善http://eclipse.org/modeling/emft/?project=eef
GEF (Graphical Editing Framework)グラフィカル・アプリケーションの開発http://eclipse.org/gef
GMF (Graphical Modeling Framework)EMF を使用したグラフィカル・エディターの開発http://eclipse.org/gmf
JDT (Java Development Tools)Java 技術のコーディングhttp://eclipse.org/jdt
JET (Java Emitter Templates)コード生成ライブラリーhttp://eclipse.org/modeling/m2t/?project=jet
JSDT (JavaScript Development Tools)JavaScript のコーディングhttp://eclipse.org/webtools/jsdt
JSF (JavaServer Faces) ToolsJSF アプリケーションの開発http://eclipse.org/webtools/jsf
JWT (Java Workflow Tooling)ワークフローおよびプロセス用ツールhttp://eclipse.org/jwt
Jetty高速かつ強力な Web サーバー関連の技術http://eclipse.org/jetty
JGitGit の Java 実装http://eclipse.org/jgit
Linux ToolsEclipse への GNU Autotools、Valgrind、OProfile、SystemTap の統合http://eclipse.org/linuxtools
MPC (Marketplace Client)Eclipse マーケットプレイスからのフィーチャーのインストールhttp://eclipse.org/mpc
MDT UML2UML (Unified Modeling Language) 2 の EMF ベースの実装http://eclipse.org/modeling/mdt/?project=uml2
MDT OCLOCL (Object Constraint Language) の EMF ベースの実装http://eclipse.org/modeling/mdt/?project=ocl
MDT XSDXSD (XML Schema Definition) の EMF ベースの実装http://eclipse.org/modeling/mdt/?project=xsd
MAT (Memory Analyzer)メモリー・リークの検出およびヒープ・ダンプの分析http://eclipse.org/mat
MintJDT と EMF の統合http://eclipse.org/modeling/emft/?project=mint
MTJ (Mobile Tools for Java)モバイル機器用 Java アプリケーションの開発http://eclipse.org/dsdp/mtj/
M2T (Model To Text)モデルからのテキスト成果物の生成http://eclipse.org/m2t
Modeling Team Frameworkソフトウェア構成管理に対応する EMFhttp://eclipse.org/modeling/emft
MWE (Modeling Workflow Engine)EMF 用のモデル処理ワークフローhttp://eclipse.org/modeling/emft/?project=mwe
MoDiscoモデル駆動型ツールを開発するための拡張可能なフレームワークhttp://eclipse.org/MoDisco
MylynEclipse のタスク管理http://eclipse.org/mylyn
Net4j拡張可能なクライアント・サーバー・システムhttp://eclipse.org/modeling/emft/?project=net4j
PTP (Parallel Tools Platform)並列アプリケーション開発用ツールhttp://eclipse.org/ptp
PhotranFortran のコーディングhttp://eclipse.org/photran
PDT (PHP Development Tools)PHP のコーディングhttp://eclipse.org/pdt
PDE (Plug-in Development Environment)Eclipse および OSGi ベースのアプリケーション用ツールhttp://eclipse.org/pde
RAP (Rich Ajax Platform)Web での RCP アプリケーションの実行http://eclipse.org/rap
SCA (Service Component Architecture) ToolsSCA 用ツールhttp://eclipse.org/stp/sca
Sequoyahモバイル・アプリケーションを開発するためのツールおよびフレームワークhttp://eclipse.org/sequoyah
SOA ToolsSOA ベースのアプリケーションの開発http://www.eclipse.org/stp
SubversiveSVN の操作http://eclipse.org/subversive
SwordfishEquinox をベースとした拡張可能な SOA フレームワークhttp://eclipse.org/swordfish
Target Managementリモート・システムの構成および管理http://eclipse.org/dsdp/tm
TeneoHibernate または EclipseLink を使用した EMF 用データベース・パーシスタンス・ソリューションhttp://eclipse.org/modeling/emft/?project=teneo
TPTP (Test and Performance Tools Platform Project)アプリケーションのプロファイル作成およびテスト用ツールhttp://eclipse.org/tptp
XtextDSL 開発用フレームワークhttp://eclipse.org/xtext
WTP (Web Tools Platform)Web および Java EE アプリケーションのコーディングhttp://eclipse.org/webtools

プロジェクトの紹介

Linux Tools

「Eclipse Linux Tools プロジェクトが Helios 同時リリースに加わることになって喜んでいます」。これは、このプロジェクトのリーダーを務める Andrew Overholt 氏の言葉です。「我々のプロジェクトが目的としているのは、Platform や CDT、それに BIRT、GEF をはじめとする豊富な Eclipse ツールをベースに作成した Linux® C/C++ 開発者向けツールを提供することです。現在、GNU Autotools、LTTng、Valgrind、GCov、OProfile、RPM、GProf、そして SystemTap などのネイティブ開発ツールと統合するための Eclipse プラグインを提供しています。最終的には、フル機能を備えた Linux 開発者向けの C および C++ IDE を提供することを目指しています」。

彼はまた、次のように言っています。「Helios に含まれている 0.6 リリースでは、コンポーネントの多くに改善を加えました。例えば LTTng 統合には、トレース・ファイルの可視化を支援する新たなヒストグラム・ビューが備わっています。また、GProf プラグインでも、BIRT によって作成されたチャートを簡単に表示できるようになっています。0.6 リリースだけを話題に取り上げるのでは、これまでのリリースで行われてきた作業を正当に評価していることになりません。以前のリリースは Eclipse 同時リリースに加えられることはなかったものの、次の成果を達成しました。

  • GNU Autotools を用いている数多くの既存のプロジェクトを Eclipse 内からビルドできるようにする、GNU Autotools と CDT の統合
  • SystemTap で駆動され、GEF の Zest によって可視化される、C/C++ コール・グラフ・ユーティリティー
  • rpmlint を統合した RPM .spec エディター
  • GProf プロファイル・データの表示
  • GCov コード・カバレッジの表示およびアノテーション
  • ネイティブ・プロファイル作成ツールと CDT を統合するためのフレームワーク
  • CDT プロジェクト用 Valgrind メモリー使用分析ツールの簡単な起動および可視化
  • ワン・クリックによる OProfile でのプロファイル作成と CDT との統合
  • 各種バージョン管理プロバイダーを統合する ChangeLog 管理ツール
  • CDT のホバー・ヘルプ機能を各種オープンソース API マニュアルのフォーマットで使用できるようにする libhover プラグイン

「その上、0.6 リリースでは大々的なバグ修正も行いました」。

Overholt 氏曰く、「Linux Tools プロジェクトには、Linux ディストリビューションで使用できる Eclipse 技術を増やすという目標もあります。現在この目標達成に向けて、Eclipse SDK のビルド・ハーネスを提供しています。Linux ディストリビューションで簡単に使用できるこのハーネスは、すでに多くのディストリビューションで利用されています」。

図 4. 実行中の Linux Tools
モニター・ツールの一例を示す Linux Tools のスクリーン・ショット

Xtext

Xtext は、独自のドメイン特化言語や本格的なプログラミング言語を容易に開発できるようにするための言語開発フレームワークで、その言語に対応する Eclipse ベースの IDE サポートの開発も可能にします」。これは、Xtext コミッターの Sven Efftinge 氏による説明です。彼は次のように続けています。「開発者は、文法を記述するための言語と最新の API 一式を使用して、言語の構文と意味体系を記述することができます。Xtext が提供する IDE は、検証やコード補完、そしてアウトライン、フォーマット設定、構文の色分け、コード生成スタブなどの豊富な機能が備わっており、しかも柔軟に構成することができます。Helios リリースでバージョン 1.0 に進化した Xtext には、名前空間ベースのスコープ設定、ビルダー・インフラストラクチャー、ダーティー状態に基づく検証とリンク、クイック・フィックス、Java 要素へのリンク、強化されたシリアライズのサポートなども追加されました。これらの新機能により、Xtext はドメイン特化言語だけでなく、本格的なプログラミング言語にも対応できるようになっています」。

図 5. 使用中の Xtext
Xtext の典型的なプロジェクト・レイアウトのスクリーン・ショット

RAP (Rich Ajax Platform)

RAP によって、Eclipse のRCP と RAP との間でデスクトップ・アプリケーションと Web アプリケーションのソースを 1 つに統一しやすくなります。

RAP コミッターの Benjamin Muskalla 氏は、次のように述べています。「Rich Ajax Platform は、OSGi を使ってサーバー・サイドでリッチ・インターネット・アプリケーションを開発するための成熟したプラットフォームへと成長しました。Helios リリースの一部として、Rich Ajax Platform はドラッグ・アンド・ドロップや GraphicsContext、そして充実したテーマ設定機能といった、数々の新しい最先端技術を利用した機能を提供しているだけでなく、EMF や Riena のような他の Eclipse プロジェクトとも緊密に統合します。RAP を使って既存の RCP アプリケーションを単一ソースにする方法は、Eclipse コミュニティー内で絶大な人気を得ています」。

図 6. RAP アプリケーションの例
トップ・メニュー、ドロップダウンの選択項目、そしてさまざまなペインからなるサンプル RAP アプリケーションのスクリーン・ショット

Sequoyah

Sequoyah は 2009年 12月、使用する言語やモバイル・プラットフォームに関係なくモバイル・ツールを開発するためのプロジェクトとして開始されました」。これは、プロジェクト・リーダーを務める Eric Cloninger 氏の説明です。「コミッターには Motorola、Nokia、Wind River からの顔ぶれが揃っています。また、RIM と Symbian Foundation も Sequoyah に積極的に参加しています」。

「私たちは、焦点が絞り込まれたいくつかのサブプロジェクトを DSDP プロジェクトから抜き出してこのプロジェクトを開始し、Pulsar パッケージを引き継ぎました。Helios リリースに向けて新しいコンポーネントを追加した Sequoyah は、このリリースで成熟したプロジェクトとして進化を遂げると思います。さらに、Web アプリケーションと Android のネイティブ開発をサポートするための新たな企画もいろいろと進行しているので、Sequoyah の将来は前途有望です」。

図 7. 実行中の Sequoyah
さまざまなファイルの一覧が表示されていて、コンソール・ウィンドウが開いた状態の Sequoyah のスクリーン・ショット

PDT (PHP Development Tools)

PDT プロジェクト・リーダー、Roy Ganor 氏の言葉です。「Eclipse コミュニティーと PHP コミュニティーの両方にとっての素晴らしい 1 年間を集約した Eclipse PDT プロジェクトは、新しいテンプレート・コンテンツ・アシストや高度な構文色分けなど、PHP 開発者向けのソース編集機能をさらに充実させています。私たちの品質への取り組みは大成功を収め、コミュニティーの貢献による 400 を超える問題の修正、そして 50 を超える機能拡張により、PDT はこれまで以上に安定したものになっています」。

CDT (C/C++ Development Tools)

「Helios リリースを機に、CDT プロジェクトでは改善されたデバッグ・サポートを提供するようになっています」。これは、CDT プロジェクト・リーダーの Doug Schaefer 氏の説明です。「まず第 1 に、DSF/GDB デバッグ・インターフェースが既存の CDI/GDB インターフェースと同等なレベルにまで達し、デフォルト起動構成タイプの切り替えを保証するようになりました。さらに、オプション・コンポーネントとして新しい EDC (Eclipse C/C++ Debugger) が導入されました。EDC は、Windows および Linux の OS API と直接インターフェースを取るデバッガーです。その上、コンパイルに先だってセマンティックに関するエラー・レポートを提供する新しい Codan 静的分析フレームワークもオプション・コンポーネントとして導入されています。また、C++0x のサポートは、gcc 4.3+ が提供するサポートに匹敵するほどに進化しています」。

図 8. CDT (C/C++ Development Tools)
CDT (C/C++ Development Tools) のスクリーン・ショット

Mylyn

このプロジェクトのリーダーである Mik Kersten 氏によると、「昨年の Galileo リリース以来、Mylyn の API、フィーチャー、統合は大きく進化しました。現在、Mylyn の Connector Discovery など、よく使われる機能は再利用可能になっています。非常に大きなタスク・リストを管理する Mylyn ユーザーが増え続けていることから、そのようなユーザーに役立つようにスケジュール表示部分を新たに作成し直しました。現在、C/C++ 開発者はワン・クリックのみで、CDT をサポートするマルチタスク機能およびワークスペース・フォーカス機能をすぐに使えるようになっています。しかし最もエキサイティングな成果は、Helios リリースを機に Mylyn エコシステムが大きく成長したことです。6 月の時点で、主要なアジャイル・ツールと ALM ツールの大半が Mylyn コネクターを提供するようになり、開発者コミュニティーのますます多くの人たちにタスク集中型インターフェースによる生産性向上がもたらされるようになっています」。


Helios と Eclipse の仲間

世間には、開発者から何らかの形で Eclipse コミュニティーに貢献したいと思っているユーザーに至るまで、Eclipse を使用している人々が数多くいます。Friends of Eclipse プログラムでは、そのような人々が Eclipse コミュニティーに貢献できるようになっています。来たる Helios 同時リリースの記念として、Eclipse Foundation では 360 人の新しい Friends of Eclipse メンバーを募集しています。$35 を寄付すれば Friend of Eclipse メンバーとして登録されて、Eclipse Foundation のダウンロード・サーバーから一足先に直接 Helios リリースをダウンロードできます。寄付金はまた、さまざまな形で Eclipse コミュニティーへの支援にも役立てられます。支援内容には、例えば以下のものがあります。

  • ユーザーと開発者のための帯域幅の追加
  • Eclipse プロジェクトをホストするサーバーの追加購入
  • Eclipse カンファレンスへの学生の派遣
  • Eclipse コミュニティー・イベントの後援
図 9. Helios と Eclipse の仲間になる
Helios と Eclipse の仲間を募るバナーのスクリーン・ショット

Helios レビュー・コンテスト

Eclipse Foundation に、Helios の一部として出荷されている Eclipse Helios プロジェクトに関する皆さんのご意見をお寄せください。Eclipse Foundation では、レビュー・コンテストを開催しているので、Helios に関するレビューを書いて応募すると、賞の選考対象としてエントリーされます。資格要件を満たしたレビューに対しては、もれなく Helios T シャツが贈られます。Eclipse は国際的なコミュニティーなので、レビューの文書作成またはビデオ・レビューの録画には、遠慮なく使い慣れた言語を使ってください。


まとめ

Helios の次のリリースは?

Eclipse コミュニティーが最近行った投票で、次回の同時リリースの名前は Indigo に決定しました。2011年 6月の Indigo リリースの際に、またお会いしましょう。

この記事で目的としたのは、Helios 同時リリースについて一通り説明し、このリリースに含まれるプロジェクトを具体的に紹介することです。この目的のために、Eclipse プロジェクト・リーダーの言葉を引用しながら Helios プロジェクトを紹介しました。

リリースの内容がわかったところで、もう待つ必要はありません。早速 Eclipse Helios を入手して試してみてください。

参考文献

学ぶために

製品や技術を入手するために

議論するために

  • Eclipse に関する質問を投じる最初の場所として、Eclipse Platform newsgroups があります (このリンクをクリックすると、デフォルト Usenet ニュース・リーダー・アプリケーションが起動され、eclipse.platform が開きます)。
  • Eclipse newsgroups には Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。
  • developerWorks blogs から developerWorks コミュニティーに加わってください。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=500008
ArticleTitle=Eclipse Helios のツアー
publish-date=06152010