JavaOneのテクニカルジェネラルセッションといえば、Graham Hamilton氏とTim Lindholm氏、そしてBill Shannon氏といった面々が思い出されます。しかし、今年はSun ソフトウェア部門のCTOを務めるRobert Brewin氏 がホスト役となり、トピックごとにゲストを呼ぶという形式で行われました。
デスクトップへの回帰
まずはじめに、Brewin氏はサーバとクライアントでの処理量のトレンドを時代ごとに示しました。クライアント/サーバの時代はクライアントでの処理量が多かったのに対し、Webアプリケーションの時代はサーバでの処理が多くなります。そして、リッチクライアントの時代になって、再びクライアントでの処理が増えていることを示しました。これが布石になっていたのか、今年のテクニカルジェネラルセッションではJava EEはほとんど取りあげられなかったのです。
過去のテクニカルジェネラルセッションではJava SE、Java EEのパートに分け、それぞれを説明するという形式でしたが、今年はトピックを取りあげるような形式になっています。トピックの中でJava EEに関連していたのはjMakiとPhobosのみでした。Java EE はJava EE 5とJava EE 6の端境期にあるので、発表できることが少ないことはわかります。しかし、今年はちょっと異常ともいえるのではないでしょうか。
その分、時間をとって説明されたのがJava SE、とくにデスクトップに関するトピックだったのです。
テクニカルジェネラルセッションのホスト Robert Brewin氏
Java SEの現状と未来
Brewin氏に紹介されて登場したのがJava SE 7のスペックリードであるDanny Coward氏 です。Coward氏は昨年の12月にリリースされたJava SE 6の現状を説明しました。
Java SE 6がリリースされてから現在まで、すでにJDK 6のダウンロード数は200万に達しており、JREのダウンロード数も順調に伸びていることが紹介されました。
Java SE 6ではスクリプトのサポートや、Webサービス、ソフトウェア管理の強化などが図られました。また、パフォーマンスも向上しています。また、初日のジェネラルセッションで発表されたOpenJDKにも触れました。
Danny Coward氏
Java SE 7の新機能として氏が説明したのは、モジュラリティとスクリプト言語のサポートです。
モジュラリティは実装時とデプロイメント時で分けて考える必要があります。実装時にはパッケージのスコープを設定するためにSuperpackageが導入されます。一方のデプロイメントではJARファイルの弱点をカバーするために、Java Application Moduleが導入される予定です。
スクリプト言語のサポートはJava SE 6ではじまり、JavaScriptが標準で使用可能になりました。Java SE 7はこの流れを引き継ぎBeanshell、JRuby、Jython、Groovy、JavaFX Scriptなどが標準で提供されるようです。
ここで、Coward氏はJRubyの開発者であるCharles O. Nutter氏 とNetBeansのJRubyモジュールを開発しているCTor Norbye氏 を紹介しました。彼らはJRubyの現状と、NetBeansを使用したデモを行ないました。
左からTor Norbye氏、Charles O. Nutter氏、Danny Coward氏
マッシュアップとJavaFX
ここから再びホストのBrewin氏が登場。はじめにスクリプト関連ということで前述したjMaki とPhobos を紹介しました。
次に、NASAのWorld Windプロジェクト を代表してPatrick Hogan氏 を壇上に迎えました。World WindはGoogle Earthのようなシステムですが、すべてが3Dのモデルとして記述してあり、そこにテクスチャとして衛星画像を貼っています。
そして、このWorld WindをマッシュアップしたDiSTIのDarren Humphrey氏 も壇上にあがります。彼らはWorld Windをマッシュアップして、フライトシミュレータ を作り上げたのです。
左からDarren Humphrey氏、Patrick Hogan氏、Robert Brewin氏
DiSTIのフライトシミュレータのデモ(展示会場にて)
※音が鳴ります。ご注意ください。
ここで、もう1つマッシュアップアプリケーションが紹介されました。それが今年のJavaOneの最大の話題であるJavaFX を用いて構築されたIRIS です。IRISはFlickrのフロントエンドとして動作し、写真の閲覧、レタッチ、スライドショーなどを行なうことができます。
このIRISはJavaFX Script で記述されており、Java Appletやスタンドアローンアプリケーション、そしてJavaFX Mobileでも動作させることが可能です。とはいうものの、それぞれのプラットフォームにより動作が微妙に異なっています。たとえば、スタンドアローンアプリケーションでは写真のサムネイルが浮き出るように表示されます。
JavaFXはもともとChris Oliver氏がSeaBeyond Technologiesに在籍していたころに開発をはじめたForm Follows Function (F3) に端を発します。SeaBeyond TechnologiesがSun Microsystemsに買収され、Oliver氏はそのままSun MicrosystemsでF3の開発を続けてきました。
F3はSwing上で動作するスクリプトとスクリプトエンジンでした。それをSwingだけでなく、携帯電話用のJavaを開発していたSajaVeでも動作するようにし、JavaFXと名前を変えて再デビューとなったわけです。
また、JavaFXからJOGLを用いて、3Dグラフィックも扱えるようになっています。IRISでも写真のスライドショーに3Dが使用されていました。
JavaFX Scriptの特徴を次に示します。
オブジェクト指向
静的型付け
依存性をベースにした評価
宣言的文法
動的な更新
アニメーションなどの効果のサポート
JavaFXはオープンソース として公開されており、誰もが自由に使うことが可能です。今後、オーサリングツールなども提供される予定です。
テクニカルジェネラルセッションの中で最も時間をかけて説明されたのがJavaFXでした。IRISの説明の中でJava Applets: Think Again! というキーワードが出てきましたが、まさにデスクトップへの回帰に他なりません。再びデスクトップのJavaは花を開かせることができるのでしょうか?