サン、JavaをベースにしたRIAプラットフォームの正式版をリリースNEWS

サン・マイクロシステムズのRIAプラットフォーム「JavaFX 1.0」。その特徴は、スクリプト言語による開発の容易性とJavaプラットフォームとの親和性にある。

2008年12月26日 09時00分 公開
[翁長 潤,TechTargetジャパン]

 米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との違いはどこにあるのか。

photo 「JavaFXスクリプトは、開発言語に抵抗があるといわれるデザイナーでも理解しやすい」と話す山口氏

 サン・マイクロシステムズの新規ビジネス開発本部テクノロジー・マーケット&コミュニティ開発統括部チーフ・テクノロジスト、山口 浩氏は、Adobe AIRやMicrosoft SilverLightがXMLをUI言語として使用している点に触れ(※)、「XMLで記述すると冗長的なコードになり、開発者が理解しにくくなる。開発ツールを利用すれば問題はないが、JavaFXはそうしたツールを使わなくても直観的にコンポーネントを作成できる」と説明する。

 また、JavaFXの特徴は「JavaFXスクリプトによる開発の容易性とJavaプラットフォームとの親和性にある」という。

※ Adobe AIRは「MXML」、Microsoft SilverLightは「XAML」をUI言語として使用している。

 JavaFXスクリプトは宣言型の文法を採用し、オブジェクト指向による記述や静的な型付け、動的なデータバインディングなどを特徴とする。Javaのコードを記述でき、既存のJavaライブラリを活用できる。

JavaFXとSwingの違い

 これまでJavaでのGUI開発では「Swing」が使用されていた。ではSwingとJavaFXスクリプトでの開発ではどう違うのか。以下に示すサンプルのソースコードと画面を例にして、比較してみる。

Swingのコード

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)」を記述する際には、その順番も重要となる。

photo Swingサンプル画面

 次に、JavaFXスクリプトで同様の画面を作成する場合を示す。

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コードで記述している


 このコードを実行すると、下図のような画面が作成される。宣言型の文法を採用しているため、ウィンドウを閉じる処理部分の記述においてコードの手順を意識することはない。

photo JavaFXサンプル画面

 上記の2つのソースコードを比較すると、JavaFXスクリプトの方が少ない行数で済み、直感的にソースコードの内容が理解できることが分かるだろう。例えば、ウィンドウの幅を修正する際にもソースコードのどの部分を変更すればよいか判断がつきやすい。また、コード数が少なくて済むので開発期間のサイクルを短縮できるメリットもある。

 NetBeansによるJavaFXアプリケーションの開発では、JavaFX対応のエディタによって文法チェックやコードの整形や補完、コード断片のドラッグ&ドロップによる操作などが可能。JavaFXアプリケーションはJavaFXコンパイラを呼び出し、JavaのバイトコードにコンパイルしたものをJava VM(Java仮想マシン)上で実行できる。

photo JavaFXプラットフォームの概観

 サンではJavaFXをJavaプラットフォームの拡張機能として位置付けている。同社によると、全世界でJavaの開発者は650万人を超え、8億台以上のデスクトップマシンと60億台以上のインターネット接続端末でJavaプラットフォームが使われているという。

photo Javaの技術をベースにして、「ベンダーにロックインされないアプリケーション開発の選択肢を提供することを目指す」(若林氏)

 今後の製品展開について、サン・マイクロシステムズのマーケティング統括本部プロダクト・ストラテジック・マーケティング本部ソフトウェア・マーケティング専任部長、若林夏樹氏は「単にリッチクライアント開発プラットフォームとして勝負するわけではない。GUIオーサリングツールを提供する以上に、ネットワークを介したデータのやりとりをいかにスムーズに連携させられるかが重要」と説明した。

 サンは今後、デスクトップやWebブラウザへの対応を強化するほか、2009年春にJavaFX for Mobileの正式版をリリースする予定。

ITmedia マーケティング新着記事

news136.png

ジェンダーレス消費の実態 男性向けメイクアップ需要が伸長
男性の間で美容に関する意識が高まりを見せています。カタリナ マーケティング ジャパン...

news098.jpg

イーロン・マスク氏がユーザーに問いかけた「Vine復活」は良いアイデアか?
イーロン・マスク氏は自身のXアカウントで、ショート動画サービス「Vine」を復活させるべ...

news048.jpg

ドコモとサイバーエージェントの共同出資会社がCookie非依存のターゲティング広告配信手法を開発
Prism Partnerは、NTTドコモが提供するファーストパーティデータの活用により、ドコモオ...