RIA分野への挑戦、JRubyの進展。「オープンソースJava」の最新ベクトル
「OpenJDK」の公開でオープンソースJava計画がほぼ完了。今後の注目は新しいRIA技術「JavaFX」と「JRuby」今年5月8日〜11日の4日間、Java開発者向け年次コンファレンス「2007 JavaOne Conference」が米国カリフォルニア州サンフランシスコ市で開催された。米国サン・マイクロシステムズがこの地で開催するJavaOneは今年で12回目で、“Javaの今”が示される舞台として定着している。今年の注目トピックは3つ。オープンソース版Java SE開発キットの「OpenJDK」とRIA(リッチ・インターネット・アプリケーション)技術の「JavaFX」の公開、そして開発/周辺対応が急速に進んでいる「JRuby」である。
OpenJDKのリリースと統治委員会の結成
「OpenJDK」は、Java SEの次期バージョンであるJava SE 7の開発キットで、GPLバージョン2に基づくオープンソース・ソフトウェアとして公開された(写真1)。サンは2006年11月にJava技術をオープンソース化するとの方向性を発表し、Java EEとJava MEについてはすでにオープンソース実装が公開されている。つまり、オープンソース化計画にあたり最後に残った“大物”であるJava SEの開発キットが今回、正式リリースを遂げたことになる。
OpenJDKのリリースと同時に、オープンソース化に伴い懸念材料となっていたテストとガバナンスに関する発表もなされた。まず、Java技術の互換性検証キット(TCK)をオープンソース・コミュニティが自由に利用できるようになる。TCKは、従来はJava技術のライセンスを受けた企業や非営利団体に限り、厳格な利用規程に基づいて利用を認めていた。このTCKをオープンソース・コミュニティが自由に使えないままだと、Java技術のオープンソース実装に基づく派生ソフトウェアが十分な互換性を持たないまま出回るおそれがあった。
次に、今後のJava技術はオープンソース・コミュニティが主体となって開発を進めることになるが、その運営体制をオープンな枠組みで構築していくことが決まった。Javaのオープンソース化で功績のあった人物を集めた暫定統治委員会が結成され、同委員会が今後の運営指針作りを進めていくことになる。
今回のOpenJDKのリリースと委員会の結成により、Java技術はもはや“サンのもの”ではなく、真の意味で開発者コミュニティの共有財産となったと言ってよいだろう。
新RIA技術のJavaFXはケータイも視野に
今回のJavaOneで、サンが最も力を入れて売り込んだのが新技術「JavaFX」である。これは、アドビ システムズやマイクロソフトが急ピッチで整備を進めているRIAに分類されるものだ。今回、サンはこれら先行各社に挑戦を挑んだ格好となる。Java技術をコミュニティの共有財産にする一方で、サンはJava技術の上で新たな付加価値となる技術の開発に挑戦しているわけである。
JavaFXは、JavaによるGUI構築部品であるSwingを、新開発のスクリプト言語「JavaFX Script」で操作してGUIを構築できるようにする枠組みである。サンは、Swingの潜在的な表現力は高く、Flashなど先行技術に負けない表現が可能としている。実際、同社はデモンストレーションで、Flashで構築したWebサイトをJavaFXを用いて再現してみせた(写真2)。
JavaだけでGUIを構築する場合と比べたJavaFXの優位性は、スクリプト言語の生産性にある。JavaFX Scriptによるプログラミングは、Java言語よりも短い記述でGUIを構築でき、しかも、プログラムの修正がただちに確認できる。この特徴により、迅速な開発が可能となる。
JavaFXのもう1つの構成要素が、モバイル・デバイス構築用ソフトウェア「Java FX Mobile」だ(写真3)。これは、サンが今年4月に買収した米国SavaJeテクノロジーズの製品をベースとするもので、Java SEの上にモバイル・デバイス向けのソフトウェア・スタックが用意されたものだ。ステージでは、JavaFX Mobileを搭載した試作機の上で、JavaFXをGUI構築に用いたデモが披露された。
ただし、このJavaFXには、まだ欠けている要素がある。RIA構築ソフトウェアと説明しているものの、デザイナー向けのツールが未発表である点だ。また、現在のところ、JavaFX Mobileを正式採用すると発表した携帯電話機メーカーは存在しない。サンが、RIA分野でアドビやマイクロソフトと真っ向から競争するには、さらなる努力が必要になるだろう。
注目度が急上昇しているJRuby
今回のJavaOneで特徴的だったのは、Java EEに関する話題が基調講演の場ではほとんど出なかったことだ。Java EE 5というメジャー・リリースの後で話題が乏しかったということもあろうが、従来、このコンファレンスの勢いを支えていたのはエンタープライズJava技術のコアであるJava EEへの関心であることを考えると、違和感が残った。
そんななか、存在感を示したのが、JVM(Java仮想マシン)上のRuby言語処理系である「JRuby」だ。2006年9月、サンがJRuby開発の中心人物2名(写真4)を社員として雇用したことで、JRubyの開発は加速した。今回、会場のあちこちで、JRubyの話題を目にすることになった。開発ツールの「NetBeans」、アプリケーション・サーバの「GlassFish」、次期デスクトップJava環境のJava SE 7にそれぞれJRubyが標準搭載されることになるという。本稿執筆時点での情報では、この6月には正式版(バージョン1.0)がリリースされる予定だ。
JRubyは、RubyによるWebアプリケーション開発フレームワーク「Ruby on Rails」の実行が可能であることを重点目標としている。しかも、その実行速度は本家Rubyの現行バージョン1.8.6より高速で、次期バージョン1.9と比べても同等という。
過去に構築したJavaのプログラム資産や運用ノウハウを再利用しながらRubyの高生産性を利用できるという点で、企業ユーザーにとってJRubyは要注目の技術と言えるだろう。



























