コモンズ・メディア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にとっては会社が傾くようなダメージにはならないでしょうから。