今年、「JavaFX」がJavaによるビジネス・アプリの可能性をさらに拡げる――「Java Developer Workshop #2」レポート
WebLogic Serverユーザーにとって、Javaの動向は大いに気になるところだ。昨年、WebLogic Channelに掲載した記事「『JavaOne 2011』でJava/Java EEの今後が明らかに!――クラウド対応がいよいよ本格始動!!」では、米国サンフランシスコで開催された「JavaOne 2011」の主なトピックを紹介したが、その中で今後の最注目トピックとされたのが「JavaFX」である。2011年12月1日に日本オラクルが開催したJava開発者向けワークショップ「Java Developer Workshop #2」では、JavaOne 2011でJavaFXのプレゼンテーターを務めた米国Oracle CorporationのJavaFX開発総責任者Nandini Ramani氏(Client Java Group担当バイスプレジデント)が登壇し、「JavaFX 2.0-Next generation Java client solution」と題した講演を行った。その内容を基に、JavaFXの最新状況、今後のロードマップを紹介しよう(編集部)。
Pure JavaによるリッチなUIを実現する「JavaFX 2.0」
ご存じのとおり、JavaFXとはJavaによってリッチ・クライアントを実現するためのフレームワークであり、「『JavaOne 2011』でJava/Java EEの今後が明らかに!」でも触れたように、同APIが今後のJavaの発展を担う最重要技術の1つと目されている。Ramani氏の講演では、このJavaFXの最新版である「JavaFX 2.0」の新機能や今後のロードマップが説明された。
まず、JavaFX 2.0における主な変更点だが、これまで使われていた専用のスクリプト言語「JavaFX Script」が廃止された。簡単なマークアップとJavaコーディングによってリッチ・クライアントの開発が行えるようになったことで、Java開発者にとってはより扱いやすいフレームワークとなっている。
「スマートフォンやタブレットPCの普及などによってリッチ・クライアントがますます重要になっている今日、世界中の開発者が、同じ言語、同じAPI、同じツールを使い、主要なクライアント・プラットフォームでプログラムを動作させられる真のクロスプラットフォームを求めている。すでに900万人以上の開発者を抱えるJavaのエコシステムに新たなJavaFXを取り込むことで、多くの開発者がモダンかつ洗練されたユーザー・インタフェース(UI)を高い生産性の下で実装できるようになる」(Ramani氏)
Ramani氏によれば、JavaFX 2.0の主要な特徴/機能は次のとおりだ。
●100% Java API
●Swingの統合
●FXMLによるUIのマークアップ
●WebKitによるWebコンテンツの統合
●リッチなグラフィックスとアニメーション
上記のうち、FXML(FX Markup Language)とは、JavaFXでUIを定義するためのXMLベースのマークアップ言語である。Ramani氏はその特徴を、「ロジックと完全に切り離され、ロジック側のソース・コードに一切触ることなく、UIだけを切り替えることができる。学習も容易であり、JavaScriptやGroovy、ScalaなどのJVMをサポートする言語からも利用できる」と説明した。
また、JavaFX 2.0では、ランタイム(JavaFX Runtime)のアーキテクチャも刷新されている。具体的には、AWTのコンパクトなリプレースとして、OSとの通信やイベント取得を行う「Glass Windowing Toolkit」、2D/3Dのグラフィックス・レンダリングをGPUによって高速に行える「Prismドライバ」などが追加されている。
さらに、「Prism」と呼ばれる新たなグラフィックス・パイプラインにより、3Dトランスフォームなどのさまざまなグラフィックス効果を遅延なく表現できるほか、フルスクリーン・ビデオへの対応、60fpsでのHD映像のレンダリング、VP6、MP3データの再生など、メディア関連の機能も大幅に強化されている。
今後はビジネス・アプリケーションにフォーカス
このように、前バージョンから大幅に機能が強化されたJavaFX 2.0の方向性としてRamani氏が強調したのが、この技術が「ビジネス・アプリケーションのリッチ・クライアント開発」にフォーカスしているということだ。氏は実際にJavaFX 2.0を使って開発されたビジネス・アプリケーションのクライアント環境のデモを披露。地図などのグラフィックスはPrismによってレンダリングし、スムーズなトラジション、マウスによる画面操作、データのビジュアライズなどがシンプルなコードで実現できることが示された。
JavaFXで開発されたビジネス・アプリケーションのフロントエンド。
売り上げの集計期間をスライダーによって指定することで、
店舗/地域ごとの売り上げ表示(右下の円グラフなど)がリアルタイムに変化する様子が示された。
なお、アプリケーションの開発には、「NetBeans IDE 7.0」を始め、EclipseやJDeveloperといった主要なIDEが使えるほか、新たなツールとして、コンポーネントをドラッグ&ドロップで組み合わせることでUIを設計できる「JavaFX Scene Builder」が紹介された。
もちろん、JavaFX 2.0のカバー範囲はビジネス・アプリケーションだけではない。3Dグラフィックスやサウンド・ストリームを組み合わせた高度なプレゼンテーションにも対応している。実際にRamani氏は、「JavaFX Labs」というデモ環境を使ってJavaFX 2.0の高い表現力を紹介。デモの中では、入力された音楽の波形を3Dグラフィックスで表示しながら、その波形をバーやスライダーなどのUIによってリアルタイムに変更できるアプリケーションや、ルービックキューブ風の3Dパズル・アプリケーションなどが披露された。
また、JavaFX 2.0の将来的な応用として、フル3Dによるリアルタイム・レンダリング・アニメーションや、マイクロソフトのモーション・キャプチャ・デバイス「Kinect」を使い、人間の動きに同期したリアルタイム・アニメーションなども披露された。
モーション・キャプチャ・デバイスKinectを使い、3Dのデュークをリアルタイムで人の動きに同期して動かして見せた。
加えて、JavaFXの高いクロスプラットフォーム性を示すデモとして、JavaFXで作られたゲーム・アプリケーションがLinuxベースのタブレットPCとiPad上で同じように動作する様子が紹介された。
こうしてバージョン2で大きく生まれ変わったJavaFXは、Javaで構築されたさまざまなシステムの標準GUIフレームワークとして発展していくと見られる。オラクル自身もJavaFXの推進に最大限注力する構えであり、その抱負をRamani氏は次のように語った。
「JavaFXは今後、オラクルのソリューションにおいても標準的なクライアント・プラットフォームになっていくだろう。SwingやAWTを含め、現在、他のクライアント・プラットフォームを使っている開発者が容易に移行できるよう準備を進めている」
なお、JavaFXは今後、オープンソース・プロジェクト「OpenJFX」として、OpenJDKプロジェクトの傘下で推進される。最初のフェーズでは、特にUIコントロールの作成に力を注ぐという。Ramani氏は最後に、「この取り組みは当然、オラクルだけで成功させることはできない。成功させるためにはJavaコミュニティの協力が必要だ。ぜひ今からJavaFXを使い、活発にフィードバックをいただきたい」と協力を訴え、講演を締めくくった。
参考動画:
「Java Developer Workshop #2」におけるNandini Ramani氏の講演の様子はコチラでご覧いただけます。
WebLogic Server 12cで体験する初めてのJava EE 6開発
Oracle Open World Tokyo 2012セッション・レポート
企業システムの設計を担うITアーキテクトは必聴! Oracle OpenWorld Tokyo 2012のお勧めセッションはこれだ!!
『Beginning Java EE 6』の監訳者に聞く、Java EE 6で企業システム開発はどう変わる?
4月4日、5日、Java開発者は六本木に集合! "Javaの今"に直接触れるチャンス到来!!――「JavaOne Tokyo 2012」の見所、聞き所
「旧式のフレームワークから脱却し、Java EE 6を標準フレームワークに!」――WebLogic Server 12cで企業が得るメリット
「Oracle WebLogic Server 12c Forum」レポート
今こそ高性能アプリケーション・サーバを使いこなそう! 初めてのWebLogic Server
コンサルタントが実践する、WebLogic Serverチューニングの“マル秘”テクニック
三菱UFJインフォメーションテクノロジーがプライベート・クラウドでWebLogic Serverを使い続ける理由――「オラクル ミドルウェア フォーラム 2011」レポート
国内リリース間近! クラウド時代のアプリケーション基盤「WebLogic Server 12c」
サポート・エンジニア直伝! 「WebLogic Scripting Tool」によるWebLogic Serverの管理/監視テクニック
Java EEフレームワークの決定版!? 「Oracle ADF」の魅力に迫る!!
事例講演:10年を越えるJava EEテクノロジーとWebLogic Server活用の理由
Oracle OpenWorld 2011で見えたWebLogic Serverの現在、そして今後
「JavaOne 2011」でJava/Java EEの今後が明らかに!――クラウド対応がいよいよ本格始動!!
WebLogicがRACの機能を最大限に引き出す――Active GridLink for RAC
まずJRockit Mission Control! 迷宮入りのWebLogicトラブルをスマートに解決
「WebLogic & Java EE活用セミナー」レポート
Javaアプリ開発者に知ってほしい、インメモリ・グリッド「Oracle Coherence」の6つの便利な使い方
本番環境で使える! システム障害への対応を迅速化する「JRockit Flight Recorder」の威力
より堅牢に、そして高速に――これからの企業/ビジネスを支えるアプリケーション・サーバの要件


