サン・マイクロシステムズのRIAプラットフォーム「JavaFX 1.0」。その特徴は、スクリプト言語による開発の容易性とJavaプラットフォームとの親和性にある。
米Sun Microsystemsは12月4日、RIA構築用プラットフォーム「JavaFX 1.0」正式版をリリースした。
JavaFXとは、サン・マイクロシステムズ(以下、サン)のRIA(Rich Internet Application)関連製品の総称。同社は2007年5月、米サンフランシスコで開催されたJava開発者向けイベント「JavaOne」において、Javaをベースにしたスクリプト言語「JavaFXスクリプト」と携帯端末向け実行環境「JavaFX Mobile」をプレビュー版として発表していた。
今回正式リリースされたJavaFX 1.0は、以下の主要な3つのコンポーネントで構成される。
・JavaFX Development Environment
コンパイラや各種ランタイムツール、グラフィックス、マルチメディア機能、Webサービス、リッチテキスト用ライブラリなどを含む。統合開発環境「NetBeans」と「Eclipse」のプラグインが用意されている。
・JavaFX Production Suite
デザイナー向けのツールやプラグインが含まれている。Adobe PhotoshopやAdobe Illustratorなどのデータを組み込むことができる。
・JavaFX Desktop
クライアント向けJavaアプリケーション実行環境「Java Platform Standard Edition 6 update 10」の主要機能を搭載している。Webブラウザで実行中のアプレットを直接デスクトップにドラッグ&ドロップできるプライグインが用意された。
JavaFX1.0は同社の公式サイトから、製品ドキュメントやサンプルコードなどとともに無償でダウンロードできる。
RIAプラットフォームといえば、アドビシステムズが「Adobe AIR」を、マイクロソフトが「Microsoft SilverLight」を既に発表している。
それらの先行するRIAプラットフォームとJavaFXとの違いはどこにあるのか。
サン・マイクロシステムズの新規ビジネス開発本部テクノロジー・マーケット&コミュニティ開発統括部チーフ・テクノロジスト、山口 浩氏は、Adobe AIRやMicrosoft SilverLightがXMLをUI言語として使用している点に触れ(※)、「XMLで記述すると冗長的なコードになり、開発者が理解しにくくなる。開発ツールを利用すれば問題はないが、JavaFXはそうしたツールを使わなくても直観的にコンポーネントを作成できる」と説明する。
また、JavaFXの特徴は「JavaFXスクリプトによる開発の容易性とJavaプラットフォームとの親和性にある」という。
※ Adobe AIRは「MXML」、Microsoft SilverLightは「XAML」をUI言語として使用している。
JavaFXスクリプトは宣言型の文法を採用し、オブジェクト指向による記述や静的な型付け、動的なデータバインディングなどを特徴とする。Javaのコードを記述でき、既存のJavaライブラリを活用できる。
これまでJavaでのGUI開発では「Swing」が使用されていた。ではSwingとJavaFXスクリプトでの開発ではどう違うのか。以下に示すサンプルのソースコードと画面を例にして、比較してみる。
public class HelloSwing { public static void main(String[] args) { JFrame frame = new JFrame("Swing"); frame.setSize(200, 70); frame.setBackground(Color.WHITE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); JLabel label = new JLabel("Hello, Swing!"); label.setFont(new Font("Helvetica", Font.ITALIC, 28)); frame.add(label); frame.setVisible(true); } }
※ ウィンドウを閉じたときのアクションを記述している部分
このコードを実行すると、下図のような画面が作成される。Swingでは手続き的な手順を取るため、ウィンドウを閉じたときのアクション「System.exit(0)」を記述する際には、その順番も重要となる。
次に、JavaFXスクリプトで同様の画面を作成する場合を示す。
Stage { title: "JavaFX" scene: Scene { width: 200 height: 50 content: Text { x: 0 y: 30 content: "Hello, JavaFX!" font: Font { name: "Helvetica" size: 28 oblique: true } } } onClose: function() { java.lang.System.exit(0); } }
※ ウィンドウを閉じたときのアクションをJavaコードで記述している
このコードを実行すると、下図のような画面が作成される。宣言型の文法を採用しているため、ウィンドウを閉じる処理部分の記述においてコードの手順を意識することはない。
上記の2つのソースコードを比較すると、JavaFXスクリプトの方が少ない行数で済み、直感的にソースコードの内容が理解できることが分かるだろう。例えば、ウィンドウの幅を修正する際にもソースコードのどの部分を変更すればよいか判断がつきやすい。また、コード数が少なくて済むので開発期間のサイクルを短縮できるメリットもある。
NetBeansによるJavaFXアプリケーションの開発では、JavaFX対応のエディタによって文法チェックやコードの整形や補完、コード断片のドラッグ&ドロップによる操作などが可能。JavaFXアプリケーションはJavaFXコンパイラを呼び出し、JavaのバイトコードにコンパイルしたものをJava VM(Java仮想マシン)上で実行できる。
サンではJavaFXをJavaプラットフォームの拡張機能として位置付けている。同社によると、全世界でJavaの開発者は650万人を超え、8億台以上のデスクトップマシンと60億台以上のインターネット接続端末でJavaプラットフォームが使われているという。
今後の製品展開について、サン・マイクロシステムズのマーケティング統括本部プロダクト・ストラテジック・マーケティング本部ソフトウェア・マーケティング専任部長、若林夏樹氏は「単にリッチクライアント開発プラットフォームとして勝負するわけではない。GUIオーサリングツールを提供する以上に、ネットワークを介したデータのやりとりをいかにスムーズに連携させられるかが重要」と説明した。
サンは今後、デスクトップやWebブラウザへの対応を強化するほか、2009年春にJavaFX for Mobileの正式版をリリースする予定。
酒税改正前後でビール系飲料の購買行動はどう変化した?
アルコール飲料市場に続々と新たな商品が登場する中、消費者の購買状況はどう変化してい...
KARTEのプレイドが進出する「プロダクトアナリティクス」はSaaSの成長をどう支援するのか?
CXプラットフォーム「KARTE」を提供するプレイドが、日本発のプロダクトアナリティクス「...
「TikTok」「Temu」「ピッコマ」etc. ダウンロード数/消費支出額トップは?
AdjustとSensor Towerが共同で発表した「モバイルアプリトレンドレポート 2024 :日本版...