« JavaOne2007でErlang、Ruby、Java FX Scriptの話を聞く | Main | ITmediaにJavaコラム執筆 »

SunのRIA製品であるJava FXについて分かってきたこと

コモンズ・メディアBlogのコピーです。→http://www.commonsmedia.jp/leaf/21

今年のJavaOneでのSun Microsystemsの発表の目玉は、Java FXとOpenJDKです。

両者は対照的です。

OpenJDKは、Javaテクノロジーのオープンソース化の成果物です。Sunには過去何年間にも渡り「Javaをオープンソース化しろ」という外圧がかかってきていたのですが、2006年11月にJavaテクノロジー全体をGPLライセンスでオープンソースにすることを発表、2007年に入りようやく実現しました。

Java互換性を検証するテスト・スイート(TCK)も含め、コミュニティの共有財産とします。コミュニティの舵取りのための委員会も設置して、オープンなガバナンスを実現する準備を進めています。

Java FXはJavaテクノロジーの一部ではなく、Sunの「製品」

一方、Java FXはSunの製品ファミリです。

ここで「製品」という言葉には説明が必要です。

Javaテクノロジーは製品ではありません。オープンソース化によって、Javaテクノロジーは名実ともにコミュニティの共有財産(コモンズ)となろうとしています。

一方、Sunは「Java FXはJavaテクノロジーに基づく製品」、という言い方をしています。ややこしいですね。

製品とJavaテクノロジーの違いは?

Javaテクノロジー全体はコミュニティの共有財産であり、技術仕様もコミュニティが決め、実装はオープンソースとして公開します。

一方、Java FXはSunの製品ですから、仕様を決めるのはSunです。ただし、ソースコードはGPLでオープンソースにするということです。

Java FXはRIA(Rich Internet Application)向け

Java FXはRIA(Rich Internet Application)を実現するための製品です。Ajaxよりリッチでクールな動くWebコンテンツの開発ツールです。

Java FXとは、要するにSwing(JavaのGUIコンポーネント)をスクリプト言語で操作して、Flashライクな動的Webコンテンツを作りましょう、という技術です。その動作環境は、JavaをインストールしたデスクトップPC(Windows、MacOS、Linux、ほか各種UNIX)と、それにJava FX Mobileを搭載した携帯電話です(事情が若干込み入っているので、後でもう一回説明します)。


RIAの分野では、Adobe Apollo、Microsoft Silverlightと、有力ベンダーが力の入った製品を発表しています。Java FXは、これらと競合する技術として位置づけています。

大胆です。しかも率直にいって、Sunが投入している開発リソースは、先行2社に及ばないように見受けられます。

しかし、考えてみると、今の時期に発表しなければ、先行するAdobeやMicrosoftとの差がますます開いてしまい、とうてい追いつけなくなることが予想されます。必ずしも充分な準備はできていないが、タイミングを逃さないために勝負に出たというところでしょうか? それに、もしAdobeやMicrosoftに勝てなかったとしても(勝つことは非常に困難でしょうが)、Sunにとっては会社が傾くようなダメージにはならないでしょうから。

さて、Java FXの現時点での内容は、次の2つです。
・スクリプト言語処理系「Java FX Script」
・携帯電話向けソフトウエア「Java FX Mobile」

JavaOneの基調講演では、Flashで作られたこのようなサイトの一部の機能を、Java FXで再現するデモ(閲覧には、Javaランタイムが必要)などを見せました。

これを見ると、Flashのような表現力があるように見えます。コンポーネントをJavaでどんどん作れるので、Java使いにとってはパワフルな環境という見方もできると思います。

課題は、デザイナ向けのツールがまだないことです。この点はJames Goslingさんも認めています。

Java FX Scriptは静的型付け、動的デバッグ可能

Java FX Scriptは、元々F3 Scriptと呼ばれていた技術で、SunがSeeBeyondを買収したことで手に入れた技術資産ということです。

特徴は、Javaオブジェクト、特にGUIコンポーネントのSwingを操作でき、プログラム修正が即座に実行結果に反映すること。これを、Webデザイナ向けのツールとして売り込みます。

Java FX Script(F3)の作者、Chris OliverさんのBlogです。
http://blogs.sun.com/chrisoliver/

Java FX Scriptの言語仕様に関して、『日経エレクトロニクス』の北郷さん(今回のJavaOne取材の記者仲間です)が記事にしています。記事の中で、北郷さんは「記述スタイルがCSSに似ている」と指摘しています。

ここにJavaFXの説明ページがあります。
http://www.sun.com/software/javafx/
FAQです。
https://openjfx.dev.java.net/JavaFX_FAQ.html
言語仕様など。
https://openjfx.dev.java.net/JavaFX_Programming_Language.html

チュートリアルの日本語訳がもう出ています。素早いですね。

「JavaFX Script事始め(Swing開発者向け)」の翻訳完了(現在、公開を一時とりやめています)

NetBeans で「はじめての JavaFX Script」

JavaOneでお目にかかったJohn Gageさんによれば、発表翌日に、メキシコシティの開発者がさっそくJava FX Scriptのプログラムを作って公開したそうです。

Java FX Mobileは、Java SE上の携帯電話機向けソフトウエア

Java FX Mobileは、元はSavaJe Technologiesのソフトウエア製品でした。Java
SE(デスクトップ向けJava)の上に、携帯電話用のソフトウエア一式を構築したものです。Sunはこの2007年4月にSavaJe Technologiesを買収、そのソフトウエアはSunの資産となりました。

LG電子などから、SavaJeのソフトを搭載した携帯電話が製品化されています(この記事とかこの記事とか)。JavaOne2006ではSavaJe搭載の携帯電話機を参加者に売りました(記事の例)。

Java FX Mobileが、なぜここで出てきたんでしょうか。

Java FX Scriptを動かすにはSwingが必要ですが、SwingはJava SEでないと動かない。Java SEが動く携帯電話は、現時点でSavaJe搭載機(=Java FX Mobile搭載機)だけ。

このあたりが真相らしいですね。

ただ、今後はJava ME(SavaJeではない普通のケータイJava)にもJava FX Scriptを載せていくそうです。Sunのサイトに行くと、Java ME CLDC、Java ME CDC、Java SEにそれぞれJava FXを載せるという絵が出てきます。


Java FXは、Adobe、Microsoftと競合する?

AdobeのFlashは、携帯電話にもう載っています。

Microsoft Silverlightもケータイを狙っています。Windows Mobile用のSilverlightをMix07というイベントで見せたそうです。Webベンチャーのインサイダー情報で著名なBlogである「TechCrunch」に記事があります

(なお、このBlogで言っているmini-CLRという用語は発表会では使っておらず、CLRの付加機能であるDLR(Dynamic Language Runtime)という用語が正しいのではないか、という意見を聞きました)。

この状況をまとめると、

・RIA
・デスクトップとケータイの両方で動く
・デザイナ向けに売り込む
・スクリプト言語で操作

という点で、競合する技術が3つ出てきたことになります。


  • Adobe Apollo
    Windows、Mac OS、ケータイで稼働。ActionScript(JavaScript)で記述。
  • Microsoft Silverlight
    Windows、MacOS、ケータイ(Windows Mobile)で稼働。JavaScript、C#、Python、Rubyで記述。
  • Sun Java FX
    Windows、Mac OS、Linux、ケータイ(Java FX Mobile)で稼働。Java FX Scriptで記述。

はからずも、ActionScriptをJavaScript互換にしてきたAdobe、話題の動的言語をサポートしてきたMicrosoftに対して、静的型付けの言語を推進するSunという構図が浮かび上がってきました。予想として、開発者の声が大きければ、SunもRubyやPythonをサポートしてくるのではないでしょうか(JVM:Java仮想マシンがあれば動きます)。

|

« JavaOne2007でErlang、Ruby、Java FX Scriptの話を聞く | Main | ITmediaにJavaコラム執筆 »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/75235/15033334

Listed below are links to weblogs that reference SunのRIA製品であるJava FXについて分かってきたこと:

« JavaOne2007でErlang、Ruby、Java FX Scriptの話を聞く | Main | ITmediaにJavaコラム執筆 »