特集
» 2012年10月12日 20時17分 公開

HTML5やWebSockets対応が進むJavaの今後〜JavaOne 2012基調講演まとめレポート(2/2 ページ)

[山本裕介,フリーランスエンジニア]
前のページへ 1|2       

導入実績が増えフレームワークやツールも充実のJavaFX

 現在一部を除きプロプライエタリなコードとなっているJavaFXは年内に完全にオープンソース化されることが発表された。

 また、当初Java 8を予定していたJavaFXの標準バンドル化は1年ほど早まって先日のJava 7のアップデートで実現していることもあり、今後JavaFXの採用は加速するだろう。

JavaFXの歩み

JavaFXを採用した5つの理由

 正式版の登場から時間が経っておらず、まだ採用に踏み切れずにいる企業が多いと思われるJavaFXだが、すでに導入実績がある企業としてCargotec社の子会社、navis社のソリューションが紹介された。navis社は貨物管理システムを提供しており、貨物の位置を2D/3Dでグラフィカルに表示するアプリケーションのデモンストレーションを行った。

 JavaFXを採用した理由として、もちろんJavaベースであること、ハイパフォーマンスなグラフィックス/アニメーションサポートすること、先進的で洗練されたAPI群を持っていること、そして2Dと3Dアプリケーションの統合が非常に楽であることを挙げた。

JavaFXをフル活用したアプリケーション「Beacon」

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の正式公開を望む声は大きかったが、残念ながらまだ公開されないようだ。

Windowsで動作するSchedule Builderのデモ(左から、Windows版、Mac OS X版、Ubuntu版)。Mac OS X版はウィンドウ右上のアイコンからフルスクリーン動作にも対応していることがうかがえる。Ubuntu版は黒地のダイアログがiOSライクだ

 すでに、デスクトップアプリケーションをJavaFXで実装するのはチャレンジングなことではないだろう。それでも足踏みをする開発者の背中を押す気持ちもあってか、リリースされたばかりのScene Builder 1.1を使ってSchedule Builderのログイン画面を簡単に実装できることを示した。ドラッグ&ドロップでボタンや素材を配置でき、デザイナがCSSで見栄えを調整できること、そしてNetBeansとの強力な連携などをあらためて実証した。Scene Builder自体は独立したツールなので今後EclipseやIntelliJ IDEAとの連携も急速に進んでいくものと思われる。

伝統的なJavaデスクトップアプリとLambda

 しかし、伝統的なJavaデスクトップアプリケーションは匿名クラスを多用したやや冗長なコードであることを自嘲気味に指摘するも、Java 8のProject Lambdaで大幅に改善されることをコードを示しながら約束した。

Lambda適用前のコード例
Lambda適用後のコード例

ARMベースの組み込み向けボードで動作するJavaFX

 Schedule Builderはダイアログの雰囲気や慣性の効いたスクロールなどがiOSアプリケーションを彷彿させた。AndroidやiPadといったデバイスでJavaFXを動作させることも念頭にあるのだろうが、残念ながらそれらのデバイスでのデモは行われなかった。

 代わりにタッチパネルディスプレイを外付けしたARMベースの組み込み向けボードでも問題なく動作し、またタッチイベントも機敏に反応する様子が披露された。

タッチイベントもサポートするJavaFX

 さらに、安価かつパワフルなコンピュータボードとして話題のRaspberry PiでもJava FXが動作するデモも行われた。

多様なコンピューティングプラットフォームの代表例として挙げられたRaspberry Pi

 残念ながら起動してすぐにクラッシュしてしまいデモは失敗したものの、「Write once, Run anywhere」を標榜するJavaの威力を垣間見た瞬間であった。

 Raspberry Piや組み込みボードなどはメモリやバス帯域幅に限りがあるため、「フルスタックのJavaを動作させるには、やや力不足だ」とのことだが、今回のデモではJava 9に取り込まれる予定の「Project Jigsaw」の技術を使い、SwingやAWTなどJavaFXを動作させるのに不要な部分を除いたパッケージで軽量に動作させるという取り組みも示した。セキュリティ、コアライブラリ、認証、ロギングなどJavaFXで必要なランタイムのサイズは10Mbytes程度だという。

将来的にJavaは必要なコンポーネントのみで構成、パッケージできるようになる

サーバや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開発者の活躍する場を大きく広げる可能性がある。

Java Embedded関連のリリース

iPadやKinectのデモはなかったが……

 今回のJavaOneはサン・マイクロシステムズがオラクルに買収されてから3回目になる。技術の進化よりもビジネスに重きを置くと見られるオラクルを敬遠して開発者の離反が心配されていたが、オラクルが約束してきた進化の道を着実に歩んでいることを印象付ける基調講演であった。

 一方で、去年のProject AvatarのアプリケーションをiPadで動かしたり、JavaFXとKinectを連携させたりといった派手で先進的なデモはなかった。サプライズのない堅実な基調講演で肩すかしを食らったというのが多くの参加者から聞かれた素直な感想だ。

 とはいえ、オラクルが開発者たちと歩調を合わせながら今後もJavaを盛り上げていくことを期待したい。Community KeynoteやJavaOne期間中に取り上げられてたテクノロジトピックについては、また後日レポートするので期待していただきたい。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。