クライアントJavaは「JavaFX」となりiOS対応も進む
Javaが登場して以来長年の間、デスクトップアプリケーションのUI構築にはAWT/Swingが使われてきた。しかしこれからは、JavaFXがその役割を担うことになる。現行のメジャーバージョンであるJavaFX 2.0は、Windows版が2011年10月にリリースされた。このリリースで、1.x系では大きな目玉であったJavaFX Scriptが廃止され、JavaのGUIライブラリの1つという位置付けに路線変更することになった。
今後のロードマップとしては、4月末までにJavaFX 2.1のWindows版およびMac OS X版が正式にリリース予定だ。そしてJavaFX 2.2の登場は2012年の半ばで、このときにLinux版も正式に登場する予定とのこと。次期メジャーバージョンJavaFX 3.0は、正式にJDK 8に統合される見込みとなっているため、リリース時期はJDK 8と同様の2013年夏ころだという。
JavaOne Tokyoでは、JavaFXに関する新しい発表もあった。JavaFX用のオーサリングツールである「JavaFX Scene Builder」 のPublic Betaが公開されたのだ。JavaFX Scene Builderでは、さまざまなUIコンポーネントやCSSテンプレート、FXMLビジュアルエディタなどが備わり、これを使えばコードを記述することなくビジュアルな操作だけで、アプリケーションのUIレイアウトを構築可能となる。Windows版とMac OS X版があり、NetBeansをはじめとした主要なIDEとも連携可能だ。正式版はJavaFX 2.2と同時期にリリースされる予定という。
JavaFXのiOS対応機能のプロトタイプに関する言及もあった。iOS版JavaFXのデモは2011年のJavaOneで初めて公開されたが、現在はランタイムがHotSpot付きのJava SE 7およびJavaFX 2.1に置き換えられ、正式な公開に向けて開発が進められているという。
オラクル Client Side Development,VPのNandini Ramani氏は、JavaFXアプリケーションが動くiPadを片手に、「日本の優秀な開発者の皆さんにもぜひ参加していただき、たくさんのフィードバックをいただきたい。それを基に、より品質の高いJavaFXを目指していく」と呼び掛けた。
Java MEはJava SEとの足並みをそろえてリリース
組み込み・モバイル向けのJavaプラットフォームであるJava MEでは、JavaOne 2011において、今後はJava SEとの整合性を確保するように調整していくという発表があった。すでに組み込み機器やモバイル機器でも十分な性能を持つ時代になっており、Java SEと同等の機能が要求されるケースも少なくない。そこで、Java MEの位置付けをJava SEのサブセットとして設定し直し、ベンダが採用するプラットフォームを選択しやすくする。
これについて、オラクルでは大きく分けて2つの取り組みを行っていくという。1つはJava MEのAPIをJava SEのものに合わせることで、Java SE上でJava MEアプリケーションを動くようにすること。それと同時に、モバイルや組み込み機器向けの新しいAPIを提供する予定だという。またリリースサイクルについても、Java SEがリリースされて間もなくJava MEがリリースされるようにリンクさせていくとのことだ。
もう1つの取り組みは、従来のCDCプロファイルをJava SE 8に統合するというもの。CDCはカーナビやセットトップボックスなどといった比較的大型の組み込み機器を対象としたプロファイル。現在、これらの機器は旧来のPCと同等以上の性能を備えていることが多いため、Java SEのスペックが通用するという判断だ。
これによって、これまでCDCの対象であった機器では、Java SEの豊富な機能が使えるようになる。グラフィックフレームワークとしてはJavaFXもサポートされる。この変更のために、CVM(CDC向けのJVM)の持つ機能のHotSpotへのポーティングなどといった作業を進めているという。
直近の予定としては、Java ME CSDC 7のリリースが控えている。CLDC 7では、主に次のような拡張が行われるという。
- GenericsやアノテーションなどのJava 7のフィーチャへの同期
- Java SEのライブラリのサブセットを利用可能
- HTTPなどの標準の通信フレームワークをサポート
- 最新のJDKを使用
- CLDC 1.1.1との後方互換性を確保
その他に、Java ME関連では以下のプロダクトが提供されている。
- Java SE 7 for Embedded
- 組み込み機器向けに最適化されたJava 7のフル実装
- ハイエンドデバイス向け
- ARMやPPCもサポート
- Oracle Java Embedded Client
- 産業向けの用途に耐えられるレベルにパフォーマンスや信頼性を高めたCDCプラットフォーム
- 高い可搬性や設定性、チューニング性を持つ
- ローからミドルエンドデバイス向け
- Oracle Java Wireless Client
- 次世代のフィーチャフォン向けランタイム
- 最新のJava MEプラットフォームに対応
- リッチなUI
- 素早い開発のためのツールチェーンの提供
- 幅広いデバイスをサポート
- 新しいユースケースやサービス価値、マネタイズなどに対応
- Lightweight UI Toolkit 1.5
- リッチなUIを構築するためのツール
- 新しいGUIビルダーやコンポーネント
- Java ME SDK 3.0.5とのインテグレーション
- Java ME SDK 3.0.5
- Java ME用の統合開発ツール
- 最新のJava ME APIをサポート
- 新しいスキンやグラフィックス機能の追加
- ネットワークモニタやパフォーマンスモニタの追加
オラクル Mobile and Embedded Technologies Senior TechnologistのTerrence Barr氏は、Java MEの将来について次のように語っている。
「これからは、用途に応じてどのJava MEプラットフォームを使うのかを選べるようになります。Javaの持つパワーを最大限に引き出しながら、ユースケースに合わせて最適なものを選択していけるわけです。Java MEはどんどん進化していきます。」
Copyright © ITmedia, Inc. All Rights Reserved.