ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

JavaFX Script



またまた新たなスクリプト言語の登場かと思いましたが、
簡単に表現すればSwingのGUIを宣言的スタイルで手軽に
記述できるということのようです。
https://openjfx.dev.java.net/


EclipseなどのIDEで.fxという拡張子のファイル上に
JSONのようなスタイルでUI部品を宣言していきます。
Swingで言うところのモデルに相当する部分は同じ.fx
ファイル上にクラスとして記述しますが、こちらも
Javaのクラスではなく、JSONライクに記述できます。


GUI部品とモデルとの紐付けは宣言に「bind」キーワード
を付加することで双方向の同期が可能です。
イベント処理は宣言に「action: operation(){...}」と
いったブロックを加えて処理内容を記述していきます。


Swingの場合にはJFrameやJButtonといったたくさんの
オブジェクトを生成し、別途モデル用のクラスも準備し
イベント処理はリスナークラスを作成するわけですが、
これら一連の作業を一つのファイルですっきりと記述
することができます。


Javaプログラマでないデザイナにオーサリングツール
感覚でSwingを使えるようになってもらおうというのが
コンセプトのようです。


サンプルのアクセス先がjnlpファイルになっていることから
作成したアプリケーションの配布はJWSを用いるようです。
JNLPファイルの中身を見てみると、メインクラスに
net.java.javafx.FXShell
というものが指定されています。これが.fxファイルに記述
されたスクリプトを解釈して実際にJavaAPIを呼び出す処理
を実行するエンジンに当たるものだと思われます。


「Script」という名前から動的型付けが可能な汎用言語を
想像してしまいますが、実際には静的型付けのGUI記述言語
と捉えるのが実情に合っていそうです。
デスクトップアプリが対象なので、AjaxJSFの代替になる
ことはなく、SwingベースのGUIを開発する際の手段が一つ
増えたと思えば良いのではないかと思います。


意識しているのはApolloSilverlightでしょうか?


どのような受け止められ方をするか、注目してみたいと思います。