月曜日にサンフランシスコで行われた JavaOne キーノートで,Oracle 担当執行副社長の Thomas Kurian 氏が,Oracle の Java プラットフォームに関する計画を明らかにした。氏によると,"今後3年間の製品ロードマップ" の主要なテーマは次のものだという。
- 新しいアプリケーションモデルとハードウェアに対する Java の最適化
- 開発者の生産性向上
- マルチコアハードウェアにおけるパフォーマンスとスケーラビリティの改善
- 複数の開発言語に対する JVM サポートの拡張
続いて氏は,これらの目標を達成するための具体的な取り組みについて説明した。その内容の多くはすでに知られているもので,JDK 7 およびそれ以降を対象としている。例えば次のようなものだ。
- Coin,Lambda および Jiqsaw の各プロジェクト
- invokedynamic バイトコード命令 による動的言語のパフォーマンス向上
- Fork/join フレームワーク
これらほど有名ではないが,その他の取り組みとして,インフィニバンド (Infiniband) ネットワークのネイティブサポート,1TB 短停止時間 (low-pause) ガベージコレクション,ホットスポットVM のパーマネント (permanent) 領域の廃止などがある。それぞれの取り組みに関しては簡単に言及するのみで,詳細の大部分が省略されていた。ただし OpenJDK,GlassFish,NetBeans については,ネットで公表されているロードマップが聴衆に対して直接示された。
しかし JavaFX についてはこれらよりも詳細な説明があり,もっとも反響が大きかった。JavaFX チームは,同時ストリーミング配信された160 種類のビデオ映像が 3D シーンで互いにオーバーレイしながら,再生中に 3D スペースを動き回るデモンストレーションを行った。中にはビデオ画像のひとつが破裂して 1,300 の破片になり (それでも再生は続いている) ,おもちゃのブロックのように床に落ちるシーンもあった。
JavaFX のパフォーマンス面の強調に加えて,チームは Oracle の目標として,"Java プログラミングモデルから最良の HTML5 とネイティブアプリケーションのエクスペリエンスを提供すること” についても説明した。将来的に JavaFX は,ネイティブな Java 2d/Open GL/ホットスポットVMスタックと Javascript/HTML5/Web ブラウザスタックのどちらにも同じ API コールでレンダリングできる能力を備えた,汎用的なビジュアル抽象化レイヤを目指している。Oracle は 2011 年内に2つの新たな JavaFX をリリースすることに加え,プラットフォームのオープンソース化もコミットしている。しかしオープンソースとしてどのライセンスを適用するかについては,詳細を明らかにしなかった。
取り組みの一部として Oracle は,JavaFX Script を廃止して JavaFX アプリケーションを生成する新規 Java API に置き換えることを発表した。この API は他の言語,例えば JRuby や Clojure,Scala,Groovy などからも使用することができる。その結果として JavaFX は,これまで JavaFX Script が提供していたバインディングのサポートを失うことになる。この問題の解決策は現時点では存在しないが,Stephen Chin,Jonathan Giles 両氏は フォローアッププレゼンテーション (PDF資料)において,この問題に対する作業が進行中であることを示唆しており,その完全な ロードマップ も公開されている。
プレゼンテーションは次にサーバサイドプログラマ達に配慮して,JEE6 についての同様な詳細情報も提供した。JEE6 については 昨年12月 のリリース時に,InfoQ でも取り上げている。
続いて Kurian 氏は,Oracle がモバイルと組み込み領域を "新たな Java のフロンティア" と考えていることを説明した上で,Java の稼働するデバイスとして Sony Ericsson のスマートフォン,Amazon Kindle,Livescribe スマートペン,Cisco VoIP 電話,Java カードなどを挙げた。 Google の Android が含まれていないことは注目に値する。
キーノートの最後には Apolo Ohno 氏が登場して結びとなったが,その前に Kurian 氏が BioWare の Dave Moore 氏を紹介して,同社のゲーム Star Wars: Knights of the Old Republic のエネルギッシュなビデオを見せてくれた。ゲームのグラフィックやゲーム内の物体のレンダリングに Java が使用されているわけではないが,マルチプレーヤの世界へのログオンサーバ,その他 Web サイトとゲームの間の管理的処理には GlassFish を用いている。
全体としてキーノートは過去数年間の要約のように感じられ,新たな情報はさほど公開されなかった。それでも Oracle が今後,デバイスやグラフィックスなどの消費者指向の技術に重点を置いていくと同時に,開発者を中心とするコア言語に対する改良のサポートを続けていくことについてのヒントは与えてくれた。