2012-11-18 15 views
5

これらのテクノロジに代わるJavaの選択肢はありますか? データのバインド機能とINotifyPropertyChangedが(コンテナとソートの要素と共に)ほとんど使用されていますが、.NETのクロスプラットフォームの欠如はJavaを考えるようになります。 あなたは何をお勧めしますか?同等の製品はありますか? XAMLを実装するもの?Java MVVMとWPFの代替

+0

WPFは、恥知らずのJ2EEの裂け目として始まったと主張する人がいます。同じように 。ネットそのものは、Javaの恥知らずの逸脱であった(「static void main()」と「String」ではなく「static void Main()」と「string」を使用していた)。 IMHO ... – paulsm4

+7

それは論じられるかもしれませんが、質問される質問に答えることはできませんか? –

+2

J2EEのコピーとしてのWPF?何を喫煙していますか? – Paolo

答えて

7

技術(WPF)

あなたはJavaプラットフォームのためのWPFへの代替を探しているなら、あなたはJavaFXを見てみるべきでしょう。

技術は、次の方法でWPFと非常によく似ています

  • ユーザーインターフェースはオブジェクトのツリーで構成されたアプリケーションは、WPFの視覚的に類似しているNodeオブジェクトからなるシーングラフを(と呼ばれますツリーはUIElementオブジェクトで構成されています)。
  • Paneノードとその派生物は、概念的にはWPFレイアウトパネルと似ています。
  • XAMLに似たFXMLというマークアップを使用してユーザーインターフェイスを作成できます。
  • JavaFXは、バインディングと変更通知(依存関係プロパティと考える)をサポートするプロパティを表すオブジェクトを提供します。依存プロパティとは異なり、ユーザーインターフェイステクノロジに関連付けられていないため、モデルクラスで使用できます。
  • ユーザーインターフェイスは、CSSを使用してスタイルを設定できます。

質問how does JavaFx compare to WPFに私の答えを見てみると、WPFとJavaFXのはるかに詳細な(しかしまだ高いレベルの)比較ができます。

デザインパターン(MVVM)は

MVVMパターンpresentation modelパターンの特殊化です。プラットフォームがバインディングをサポートするプロパティを提供し、プレゼンテーションモデルは基本的にモデルの状態をカプセル化し、その状態に作用する操作を提供するオブジェクトであるため、JavaFXでこれを変更することができます。

私が見たほとんどの例は、モデルビュープレゼンターパターンの変形を使用しています。すぐに使用できるJavaFXは、各ビューが「コントローラ」クラスに関連付けられている非常に単純なMVP構造をサポートしています。これは小規模なアプリケーションでは問題ありませんが、実際には大きな懸念事項はありません。

2

おそらく、あなたは素晴らしいMVVMFX Frameworkを見守るべきです。記述的UI宣言(FXML/XAML)のようなWPFとJavaFXとの間の類似点に基づいて、WPFでの開発のベストプラクティスを採用しようとしました。

これはもちろん、データバインディングの概念をサポートし、ビュー、viewModel、モデル間の通知に必要なインタフェースを実装します。 UIとそのUI-Logic(コードビハインド)は、fxml-files(Scene Builderで作成)と必須のJavaクラスによって実現されます。多くの良い例では、純粋なMVVMパターンの厳密な実装であるため、概念を理解することは難しくありません。必要なのは、プロジェクトの依存関係にフレームワークを確立することだけです。