2008年12月26日 09時00分 UPDATE
ニュース

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

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

[翁長 潤,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の正式版をリリースする予定。

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

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

news106.jpg

コムニコ、企業やブランドのSNSアカウントに特化した投稿検索・分析ツールを提供
コムニコは、企業やブランドのSNSアカウントに特化した投稿検索・分析ツール「POST365」...

news025.jpg

博報堂とCCCマーケティング、Tカード会員1200万人分の実購買データに基づくリサーチパネル活用で協業
CCCマーケティング、博報堂、博報堂子会社の東京サーベイ・リサーチは業務提携を行い、T...

news021.jpg

テクノロジーの理解がマーケターのキャリアを左右する
今日のマーケターは、複雑なマーケティングテクノロジーを十分に理解するよう努める必要...