Java Fx - 第4の男登場か?

DHTML(Ajax), Flash/Flex、そして先日発表されたSilverlightに続く第4のテクノロジが、米国時間の今日、JavaOneで発表されそうだ。
Sun's JavaFX to take on AJAX, Silverlight | InfoWorld | News | 2007-05-07 | By Paul Krill:
Sun will detail a plan Tuesday that could make Java a formidable player in the scripting language space.
その名はJavaFx。デスクトップアプリからモバイルデバイス向けWebまでの広範囲をターゲットとする。最初にリリースされる製品もモバイル向けとのこと(iPhoneやGoogle Phoneならぬ、Java Fx Phoneのプロトタイプ写真がNY Timesに掲載されてる)。合わせてJavaFx scriptという新しいスクリプティング環境も提供される。今までのスクリプトはWebページを作成することを指向していたが、JavaFxはインターフェースにおけるユーザー体験や高度なアニメーションにフォーカスする。そして、もはやお約束というか、JavaFxもFlexやSilverlightのDLRみたいにオープンソース化される予定。

JavascriptはJavaみたいだけどJavaとは何の関係もない。JavaFx scriptこそが正真正銘Javaのスクリプト版になる(遅すぎという感もあるが...)。Javaの生みの親であるJames Goslingによれば、Java FxにはSilverlightと同様のグラフィック機能をJavaFxに搭載するらしい。またAjax(つまりJavascript)プログラマにも配慮していて、Ajaxでできることは何でもできる、とのこと。おまけにオフラインでも動く。このあたりは後だしジャンケンの強み。

他にも、宣言型プログラミングモデルだとかAppletも簡単に作れるとか。Forrester ResearchのシニアアナリストJeffrey Hammond氏は、大企業にとっては、RIA(Rich Internet Application)を開発する際に
  • 大企業でのJava人口
  • モバイルを含む色々なデバイスを扱う場合もJavaだけでUIまで完結する
という点が魅力になると言う。逆に言えばRuby、PythonやPHPに移行した開発者にとってはあまり魅力はないかもしれない。このあたりは、DLRでIronPythonをはじめとするスクリプト言語サポートを表明したSilverlightとは後で述べるように明らかに性格が異なる。

はてさて、Sunは4月にAjaxの代替としてProject Flairなるものを発表しているが、これまた急な発表という感じが否めない。Project FlairはJavascriptベースだがJavaFxはJavascriptベースではないし、あくまでAjaxの代わりではなくSilverlightとFlashの立ち位置を狙っていることが強調されている。

思うに、SunはAdobeのApollo発表、Flexオープンソース化やMSのSilverlightに衝撃を受け、今の時点で選択肢のOne Ofに入っておかないとまずいと判断し、急遽JavaOneでの発表を決定したのだろう。何より「リリース日は未定」というのがそれっぽいではないか。ただし根拠もなく発表できるわけではなくて、この買収が今回の発表を可能にしたとCnetは伝えている。
Sun tries again with consumer-flavored Java | CNET News.com:
The JavaFX Mobile is technology that Sun gained through the acquisition of the intellectual property assets of SavaJe, a start-up that created software for writing uniform applications on Java phones.
第4番目の男の勝機はあるだろうか? 少し考えてみたが、意外と面白いかもしれない。Java自身はJava Fxによって長年の弱点を克服するかもしれないわけだが、それはそれとして、いわゆるWeb 1.0系企業の支持を得るかもしれないということ。

Ruby, PHP, AcrtionScript, Javascriptに至るまで、日本ではそれこそシブヤ系というか、Webアプリ得意のソフトハウスではスクリプティングは珍しくないかもしれないが、過去汎用機を手がけてきた大手ベンダーやSIerは、B2C系を専門にしているような部署以外はスクリプティングはそれほど得意ではない。

一方で10000人月とか20000人月とかの大規模開発に使えるかどうかという点もあって、Javaや.netの採用はWeb 1.0企業は非常に熱心だ。割と安定した生産性指標などもあるしね。こういう企業の開発者らが大規模なRIA開発(そんなのはまだないと思うが)を要求されたら、AjaxやFlex/FlashではなくてJava Fxを検討するかもしれないというワケだ。直接の対抗馬はSilverlightだろうが、このあたりはJava Fxの出来次第。

もしかしてGoogleはこの展開も読んでて高みの見物かな?