連載
» 2007年06月13日 00時00分 公開

小山博史のJavaを楽しむ(6):JavaFXでJava RIA開発はどれくらい変わるの? (1/3)

教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部)

[小山博史,ガリレオ]

 2007年のJavaOneで発表されてから、がぜん注目を浴びているJavaFX ScriptSwingライブラリを使ったプログラミングが簡単にできるようになるということで、これを使えばJavaデスクトップアプリケーションもすぐに開発できるようになりそうです。

 Sunは携帯端末向けのGUIアプリケーションもターゲットとしているようで、JavaFX Mobileというシステムも提供していくとアナウンスしています。こちらは、従来よりもパワーがある携帯端末で、Java SEが動作するようなものを想定しているようです。

 PCのデスクトップだけでなく、この先進的な携帯端末でも動くGUIアプリケーションを簡単に作成できるということが、JavaFX Scriptの売りとなっているようです。昨年から続いているEoDの流れにも沿っているのでしょう。ということで、早速JavaFX Scriptを使ってみました。

図1 JavaFX Script Studiomoto Demoの画面(画面をクリックすると拡大します) 図1 JavaFX Script Studiomoto Demoの画面(画面をクリックすると拡大します)

JavaFX Scriptの使いどころとは?

 JavaFX Scriptは、SunのJavaFXのサイトで紹介されています。RIA(Rich Internet Application)を簡単に実装できることが売りですが、Javaプログラマにとっては、既存のスクリプト言語との関係が気になるところです。Swingライブラリを使ったプログラミングの方が、Javaの文法で行える分、気が楽だというのが正直なところなので、こういったスクリプト言語の存在に価値を見いだすとしたらどこか、というのが最初に気になります。

Webブラウザの出現でUIデザインの仕方は変わった

 一昔前のコンピュータ用アプリケーションの開発においては、ユーザーインターフェイスデザインというのは、開発者が片手間にやっていたり、コンピュータのユーザーインターフェイスに詳しいエンドユーザーが指示をしていたり、というのが普通の世界でした。

 しかし、Webブラウザの出現によって、状況は変わってきています。いまや、Webサービスの開発においては、デザインチームが画面デザインをし、Web開発チームがそれをXHTMLCSSAjaxで実装し、サーバサイドは開発チームがプログラミングをするといった体制で開発が増えてきています。賛否両論はあるようですが、GUIアプリケーションのモデルとして有名なMVCモデルをWebアプリケーション開発に適用していることが多いはずですし、多くのフレームワークは、基本的にこのモデルを採用しています。

RIA開発ではより柔軟なGUIコンポーネントが必要

 このように、RIAの開発が要求されるようになってきていますが、これまでのようにWebブラウザに依存した技術だけでそれを実現するのは難しくなってきています。これからは、より柔軟に、より高度なGUIコンポーネントを組み合わせることができて、しかもインターネットに対応したアプリケーションを開発できる技術が必要なのです。

JavaFX Scriptはデザイン側やクライアント開発側で使われる?

 こうして見ると、JavaFX Scriptを使うのは、実はサーバサイドで開発をしているJavaプログラマよりは、現在、XHTML+CSSやAjax回りを使っているWeb開発チームが一番関係してきそうです。このチームのメンバが、Webアプリケーション開発時にJavaScriptFlashを使っていたのと同じように、デスクトップでも携帯端末でも同じように動作するRIAを開発するに当たって、JavaFX Scriptを使うことになると考えられます。

 ですから、JavaFX Scriptを評価するに当たっては、こういった開発体制で利用できそうなのか、JavaScriptやFlashを使うのと同じくらい簡単に使えるのか、といった項目が重要ではないでしょうか。こんなことを考えながら、いくつかの簡単なサンプルコードを作ってみました。

ダウンロードして、デモを試す

 JavaFX Scriptのオープンソース実装であるOpenJFXのサイトでは、活発に開発がされていて、バージョンアップが頻繁に行われています。アーカイブはzip形式とtar.gz形式が用意されていますので、好きな方をダウンロードしてください。ここでは、記事執筆時にダウンロードしたOpenJFX-200705302107.zipを使って動作確認をしていますので、あらかじめご了承ください。

 OpenJFXのサイトでは、ライセンスは将来的にはGPLとなると書いてありますが、記事執筆時にダウンロードしたものには、「Technology Evaluation License」が同梱されていました。

Java Web Startを使ったデモ

 ところで、このサイトには「Demos」と記載してあるところに、JNLPを使ったJava Web Startで起動するデモも用意されています。ちょっと様子を見てみたいというだけでしたら、このデモをダウンロードして動作させてみるといいでしょう。こういうのを使うと、Java Web Startの良さを実感できるはずです。

図2 JavaFX Script Tesla Demoの画面(画面をクリックすると拡大します) 図2 JavaFX Script Tesla Demoの画面(画面をクリックすると拡大します)

編集部注:Java Web Startについての詳細を知りたい読者は、サンの夢を語れるのか?「Java Web Start」をご参照願います。

デスクトップ上でも、デモを動かす

 ともあれ、手元でも動作をさせてみましょう。ファイルをダウンロードしたら展開します。ここでは、Windows XPを使って確認をしました。展開した結果できたディレクトリは、C:\OpenJFXという名前に置き換えています。なお、後で作成するサンプルコード用にC:\OpenJFX\sampleも作成しておきました。

 ダウンロードしたファイルに同梱されたjavafxpad.batは簡単なJavaFX Scriptプログラムの開発に使える便利なツールです。前述のJava Web Startのデモにもあります。早速使ってみました。

図3 JavaFxPadの実行例(画面をクリックすると拡大します) 図3 JavaFxPadの実行例(画面をクリックすると拡大します)
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。