HTML5やWebSockets対応が進むJavaの今後〜JavaOne 2012基調講演まとめレポート(2/2 ページ)
HTML5やWebSockets対応が進むJava EE 7、シェアを伸ばすJava 7、そしてJava 8とOpenJDK、JavaFXの最新情報をお伝えする
導入実績が増えフレームワークやツールも充実のJavaFX
現在一部を除きプロプライエタリなコードとなっているJavaFXは年内に完全にオープンソース化されることが発表された。
また、当初Java 8を予定していたJavaFXの標準バンドル化は1年ほど早まって先日のJava 7のアップデートで実現していることもあり、今後JavaFXの採用は加速するだろう。
JavaFXを採用した5つの理由
正式版の登場から時間が経っておらず、まだ採用に踏み切れずにいる企業が多いと思われるJavaFXだが、すでに導入実績がある企業としてCargotec社の子会社、navis社のソリューションが紹介された。navis社は貨物管理システムを提供しており、貨物の位置を2D/3Dでグラフィカルに表示するアプリケーションのデモンストレーションを行った。
JavaFXを採用した理由として、もちろんJavaベースであること、ハイパフォーマンスなグラフィックス/アニメーションサポートすること、先進的で洗練されたAPI群を持っていること、そして2Dと3Dアプリケーションの統合が非常に楽であることを挙げた。
JavaFXベースのオープンソースRIAフレームワーク「Dolphin」
もう1つの実績としてはRIA開発環境を提供するCanoo社がJavaFXベースのRIAフレームワークである「Dolphin」を発表した。デモはなかったが、サーバサイドアプリケーションとJavaFXベースのクライアントアプリケーションを簡単に統合できるのが特徴だという。
Dolphinは同時にオープンソース化されGitHub上で公開されたことにも触れておこう。
オーサリングツール「Scene Builder」がアップデート
また、基調講演当日朝にはScene Builderの最新版となるバージョン1.1の開発者プレビューがリリースされたことを発表。Windows、Mac OS XだけではなくLinux版も同時にリリースされた。オーサリングツールとしての完成度は高く、JavaFXが次世代のデスクトップ向けのUIフレームワークとしてオラクルが強力にプッシュしていることがうかがえる。
Scene Builder 1.1の事例
Technology Keynoteでは、当日発表されたばかりのScene Builder 1.1を使って開発した「Schedule Builder」というアプリケーションのデモが行われた。
JavaOneのセッションスケジュールを閲覧できるリッチなデスクトップアプリケーションで、Windows、Mac OS X、Ubuntuでまったく同じフィーリングでスムースに動くのが印象的だった。オラクルの用意しているWebベースのスケジュール管理ツールは不満が多く、このSchedule Builderの正式公開を望む声は大きかったが、残念ながらまだ公開されないようだ。
すでに、デスクトップアプリケーションをJavaFXで実装するのはチャレンジングなことではないだろう。それでも足踏みをする開発者の背中を押す気持ちもあってか、リリースされたばかりのScene Builder 1.1を使ってSchedule Builderのログイン画面を簡単に実装できることを示した。ドラッグ&ドロップでボタンや素材を配置でき、デザイナがCSSで見栄えを調整できること、そしてNetBeansとの強力な連携などをあらためて実証した。Scene Builder自体は独立したツールなので今後EclipseやIntelliJ IDEAとの連携も急速に進んでいくものと思われる。
伝統的なJavaデスクトップアプリとLambda
しかし、伝統的なJavaデスクトップアプリケーションは匿名クラスを多用したやや冗長なコードであることを自嘲気味に指摘するも、Java 8のProject Lambdaで大幅に改善されることをコードを示しながら約束した。
ARMベースの組み込み向けボードで動作するJavaFX
Schedule Builderはダイアログの雰囲気や慣性の効いたスクロールなどがiOSアプリケーションを彷彿させた。AndroidやiPadといったデバイスでJavaFXを動作させることも念頭にあるのだろうが、残念ながらそれらのデバイスでのデモは行われなかった。
代わりにタッチパネルディスプレイを外付けしたARMベースの組み込み向けボードでも問題なく動作し、またタッチイベントも機敏に反応する様子が披露された。
さらに、安価かつパワフルなコンピュータボードとして話題のRaspberry PiでもJava FXが動作するデモも行われた。
残念ながら起動してすぐにクラッシュしてしまいデモは失敗したものの、「Write once, Run anywhere」を標榜するJavaの威力を垣間見た瞬間であった。
Raspberry Piや組み込みボードなどはメモリやバス帯域幅に限りがあるため、「フルスタックのJavaを動作させるには、やや力不足だ」とのことだが、今回のデモではJava 9に取り込まれる予定の「Project Jigsaw」の技術を使い、SwingやAWTなどJavaFXを動作させるのに不要な部分を除いたパッケージで軽量に動作させるという取り組みも示した。セキュリティ、コアライブラリ、認証、ロギングなどJavaFXで必要なランタイムのサイズは10Mbytes程度だという。
サーバやDBも格納する、組み込み向けJava
サン・マイクロシステムズの時代から続く傾向だが、オラクルはかつてなく組み込みデバイス向けのJavaに力を入れており、Strategy Keynoteでは、Embedded Java関連の発表やデモも多かったのが印象的だ。エンタープライズ、サーバサイドでは確固たる地位を築いたJavaをデスクトップやモバイル、組み込み向けにより広く進出させるというのは自然な流れだろう。
またオラクルは、JavaOneに先駆けて9月にJava ME Embedded 3.2とJava Embedded Suite 7.0をリリースしている。
省電力デバイスに最適化されたJava ME Embedded 3.2は、ごくわずかなメモリフットプリントでも動作すること、またEmbedded SuiteはJava ME Embeddedとの連携に最適化されたGlassfishサーバの組み込み版やJavaDBも格納していることをアピールした。
組み込み向けJavaはSIMカードやクレジットカードのICチップなど、すでに意識せずとも広く普及しており、Java ME Embeddedは、さらにJava開発者の活躍する場を大きく広げる可能性がある。
iPadやKinectのデモはなかったが……
今回のJavaOneはサン・マイクロシステムズがオラクルに買収されてから3回目になる。技術の進化よりもビジネスに重きを置くと見られるオラクルを敬遠して開発者の離反が心配されていたが、オラクルが約束してきた進化の道を着実に歩んでいることを印象付ける基調講演であった。
一方で、去年のProject AvatarのアプリケーションをiPadで動かしたり、JavaFXとKinectを連携させたりといった派手で先進的なデモはなかった。サプライズのない堅実な基調講演で肩すかしを食らったというのが多くの参加者から聞かれた素直な感想だ。
とはいえ、オラクルが開発者たちと歩調を合わせながら今後もJavaを盛り上げていくことを期待したい。Community KeynoteやJavaOne期間中に取り上げられてたテクノロジトピックについては、また後日レポートするので期待していただきたい。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 7年ぶりのJavaOne Tokyoで見たJavaの未来〜JavaOne Tokyo 2012まとめレポート(前編)
iOSやHTML5、クラウドに接近しつつ、自身も進化を続けるJava。前進する鍵は開発者やコミュニティにある - ラムダ式、JAR脱獄、JavaScript/Node.jsに接近するJDK 8、そして9へ〜JavaOne Tokyo 2012まとめレポート(後編)
Lambda、Jigsaw、Nashornについて解説した講演を詳細にレポートする。そしてJava SE 9はどうなる? - JavaはクラウドやHTML5、iOS/Androidも取り込む?〜JavaOne 2011まとめレポート
Java SE 8/9、マルチクラウドに進むJava EE 7、JavaFXと融合しAndroid/iOS対応を目指すJava ME、HTML5を取り込むProject Avatarなど - オラクル買収後のJava 7と8、JavaFXはどうなるのか〜JJUG Cross Community Conference 2011 Spring レポート
Java SE/EEの今後やJRockitとHotSpotの統合など最新情報をお伝えする。そして今後のJavaOneは?