今日になってようやくJavaFX

JavaFX scriptについて考えてみる。
いや、そんな大層なはなしじゃなくて触ってみる。
感触としては、Javaの冗長な所を楽ちんに書ける表記って感じがした。
新しいPnutsとでもいうような感じ。
言語の色は、Javaの拡張とかサブセットというよりやはりスクリプト言語寄り
JavaよりもJavascript,Perlに似ている。
いいなと思った点
1. attributeの存在と扱い
2. リストの文法上の扱い
3. GUI部品が簡単に作れる
4. newの省略
1. JavaFXには、atrributeという概念がある。
これは、jdk7で議論されているプロパティの実装例みたいになっているようだ。
プロパティへのアクセスは、:(コロン)を使って行う。
コロンは記号として空いてるなぁと思っていたが、使い方は目からウロコだった。
Javaの文法から解放されて、シンプルに出来ているいい例かなと思った。
2.
a =new ArrayList();
a.add( “hoge” );
a.add( “foo” );
a.add( “bar” );
ただ、ちょっとリストを作りたいだけなのにJavaだとこんな煩雑な記法になる。
これを
[ “hoge”,”foo”,”bar” ]
と書けるようになった。これはスクリプト言語では出来て当然の機能になっているので
特筆することでも無いんだけど・・・
3.GUIの構築は、基本的にはマップ構造とリスト構造の組み合わせだ。(・・・と思う。)
なので、マップ構造とリスト構造を簡潔に記述出来る記法があれば
GUI構造も簡潔に記述できる。JavaFXは、その記述が可能だ。
1.の記法は構造へのマップ的なアクセス手法であり、2.の記法はリストの記法。
GUIをこのふたつの記法を使ってごく直感的にテキストで記述することが可能だ。
この記法がいいと思ったのは、XMLでは無い点と、: 演算子の使用だ。
XMLははっきり言ってしまうと冗長。
かと言って、単なるJavaPropertyファイルだと複雑な構造が出来ない。
今、仕事で使っている記法は、これに似た構造を持てるようになっているのだが
どうも見通しというか使い勝手が悪いと思っていた。
それが、:演算子を見てすっきりした。明確に2項演算の左辺と右辺の区切り文字を
一つ使うだけでスッキリまとまっている。面白いもんだ。
4.
GUIで必要とされる構造の記述に加えて、Javaの面倒というかキッチリしている点は
newが必要であるということ。多くのGUI設計で使われる静的な構造では
newは暗黙のウチにできた方が楽。
Javaの構文は、このとき汎用的過ぎて不便だね。
次に気になった点
1. JSR223 対応
2. Stringの演算子がない?
1.
試しに”Hello,FX world”してみました、の話はたくさんあるのでJSR223的機能を試してみることにした。
自分がサンプルに作っておいてるテンプレート&スクリプト実行用アプリで
単純な代入文だけ実行してみた・・・・・
が。何故かNullPointerExceptionで落ちる。JavaFXScriptEngine.applyBindings() で落ちているので
バインディングを渡さないように変更しても落ちた。
これは・・・・JSR223の機能は・・・誰も試してないのか?・・・・・
2.
String を連結するにはconcat メソッドを使わなくてはならない??
+演算子が使えないようなので戸惑っている。
論理積の演算子が&&じゃなくてandになってんだから、VBと同じように&連結でいいのに・・・
まぁ、発展途上なのでまだ分からないものの
JavaFXは、まずはデスクトップアプリのGUIを
構築する言語として広まるのではないかと思った。
が、ここまでやってみて情報が少ないのはちょっと辛かった。
特にGUI部品の情報が。
リファレンスが言語仕様だけなんでチュートリアルと
エディタプラグインのアシスト機能だけがJavaFXとしての情報源だが、それじゃ分からんです。
当面はJavaFXの前身(?)F3の情報を追っていくしかなさそうだ。
参考:
JavaFXの言語仕様
F3の仕様
F3 Widgetのリファレンス


F3のサンプルにDashboardの電卓風のアプリがあった。
そのサンプル実行時は、タスクトレイに実行しているWidget(?)を管理するような
ツールが入っていたので目指していたのは、Sun版のDashboard/YahooWidgetなのかもしれない。
JavaでMVMを実現するのは、かなり面倒だけどJavaFXだと複数アプリの同居は
結構簡単にできるのかもしれない。情報をもっと集めないと・・・


投稿日

カテゴリー:

投稿者:

タグ:

コメント

“今日になってようやくJavaFX” への1件のコメント

  1. 柿本(旧姓tac)のアバター
    柿本(旧姓tac)

    こうなると、GWTが宣言型UI言語ではないJavaをターゲットにしているのが残念に思えてくるね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください