忍者ブログ
淡々とお仕事のお勉強をするよ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前回 GUI について調べたときには言及しなかったが、ニュースで目に付いては気になる JavaFX についても調べておく。名前から分かる通り Java の何かで、既存の機能を利用するスクリプト言語らしい。

環境

今のところ、Sun 主導のオープンソースプロジェクト OpenJFX が代表格。解凍してみるととてもシンプルな構成。ソースファイルの拡張子は通常 fx。
Eclipse のプラグインも用意されている。
http://download.java.net/general/openjfx/plugins/eclipse/site.xml
これを使う場合、別途 OpenJFX を導入する必要はない。
(via JavaFXによるGUIアプリケーションの作成:CodeZine)

JavaFX Mobile、デスクトップウィジェット向けの WidgetFXNetBeans 用プラグインもある。

コーディング感、Java との違い

【特集】体験! JavaFXの世界 - "Javaが放つRIAプラットフォーム"の魅力を徹底解説 (1) あらゆるデバイスで実行可能なリッチなアプリケーションUIを実現 | エンタープライズ | マイコミジャーナル
Life is beautiful: JavaFX Script 入門、とりあえず言語仕様に目を通してみた
Why Does JavaFX Get to Cheat? | Javalobby

  • Java の GUI は手続き的、JavaFX は宣言的
  • package・import については通常の Java と同じ
  • 識別子として通常使えない語を << >> で囲って使用できる
  • 型宣言は省略できるが動的ではない
  • function による関数記述、より柔軟な operation が使える
  • bind による紐付けで値の変化を自動評価
  • パネルが使いやすい

デモ・サンプルコード

Java との共存

Michael Heinrichs 氏の blog で、JavaFX と共用するための Java コードを書くために気をつけることについての記事が連載されている。いずれじっくり読みたい。

第54回 これからの展望まで完了。長かった。

実際に触ってみる機会が無かったのでそんなに上達した気はしないけど、知っているに超した事はない。

第50回 いろいろなクラス・構造体まで読んだ。

  • 可読性のために構造体も New することを推奨。

    ' ◎
    Dim Example1 As New ExampleStructure(1, "推奨される宣言の例")

    ' ○
    Dim Example2 As ExampleStructure
    Example2.Description = "これでも動かない訳ではない"

  • フォームと同じファイルにクラスを記述する場合は、フォーム以降に記述しないとデザイン画面が使えなくなる
  • Partial で 1つのクラスを分割して宣言できる

第49回 イベントの作成 - Event, RaiseEvent, WithEventsまで読む。

  • Event で定義、RaiseEvent で発生
  • 第2引数には EventArgs を継承するのが全世界のプログラマの総意らしい
  • CancelEventArgs もある
  • クラス間の連携はイベントで実装すると色々便利

第48回 高度なメソッド・プロパティ - Optional, ParamArray, Overloads, Shared, Staticまで読む。

  • Optional 付き宣言で省略可能な引数になる。規定値も記述可能。複数引数がある場合は、宣言した引数より後ろも全て省略可能にしなければならない。規定値は呼び出し元バイナリに書き込まれるため、変更時は呼び出し元もリビルドせねばならない。
  • 引数を省略できない C# との連携に注意 !
  • 規定値が必要かどうかはバージョンによって異なる。(参考)
  • Overloads 修飾子で多重定義を分かりやすく。1つ修飾したら、同様に多重定義された他のメンバでも宣言しなければならないので注意。

周辺にあるテクノロジインスタント Python 辺りを読んで、そういえば多くの言語や環境では GUI インタフェースってどう作るのだろうと思って調べてみた。

Tk

Tk (ツールキット) - Wikipedia

Python には Tkinter という標準ライブラリがある。

Qt

主に C++ だけど、他にも様々な言語に対応している。一番ポピュラーそうだけど、ライセンスの途中切り替えができないのが難点か。ライセンスは開発者単位で付与されるが、組み込み版はさらに端末毎にライセンス料が必要となる模様。

GTK+

こちらは C 言語。しかしやはり多言語での開発にも対応。動作プラットフォームは GNOME がメインだけど、他の環境でも動かないことはない。

SWT

Java プラットフォーム用。何故か Eclipse 財団が管理している。

Shoes

(via InfoQ: 軽量なGUI、グラフィックス、アニメーション向けライブラリRuby Shoes)

Ruby 用 GUI ライブラリ。割合単純な記述で様々なことが可能らしい。

実際は ?

何をどの言語で作るかに依存する。この中で一番ご縁がありそうなのは Qt とSWT か。web アプリケーションが仕事の主流になればあんまり関係ない。

忍者ブログ [PR]


Designed by A.com
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新TB
バーコード
ブログ内検索
アクセス解析
プロフィール
HN:
tnmt
性別:
非公開
(image created by E-Mail Icon Generator)