2013-04-07 14 views
5

私たちは、Webアプリケーションのためのクライアント開発のフレームワークを選択しようとしています。これらは、アプリケーションに関する重要なポイントです。Webアプリケーション開発のためのVaadin - 多少の疑問

1)ユーザーがクライアントで多くのアクティビティを実行するリッチテキストアプリケーション。

2)当社は、サービスをクラウドで提供される)Javaテクノロジ

3を使用して開発するために探しています。

4)モバイル対応が必要です。

5)スケーラビリティも主な懸案事項です。

私は、オンラインでこの動画http://twit.tv/show/floss-weekly/187と一緒にドキュメントや情報の多くを経て、今VaadinプレーンGWTに残っています。私はGWTを使った開発で少し経験がありましたが、Vaadinではできませんでした(私はVaadinだけでいくつかのサンプルプログラムを書いています)。いくつかのことを理解するのを手伝ってください。

1)Vaadinに新しいウィジェットを書く必要がある場合は、それを達成するのが簡単か難しいのですか?

2)Vaadinのウィジェットや概念は、アプリケーションのブロッカーとなる可能性がありますか?

3)明日我々がGWTに戻すことに決めたら、Vaadinがすべてのサーバーコードロジックで動作することを考えれば実現可能ですか?

4)Vaadinの方法は、クラウドにデプロイされているアプリケーションの問題が発生するたびにサーバーに行くのでしょうか?

5)フォーラムのサポートと将来の開発者はどのくらい重要ですか。

ありがとうございます。私はこれらの議論について多くの記事やリンクを見てきましたが、いつか少なくともこれらのもので本当の経験を持っている人から知っておくと良いと感じています。再度、感謝します。

答えて

1

将来のデベロッパーには、正直言ってjsfに行ってほしい。それは最善の選択ではありませんが、少なくとも死ぬフレームワークの脆弱性があります。

私たちのプロジェクトでは、私はヴァーダンを使わなければならないと思います。私はZK(http://www.zkoss.org/)またはGWTが好きです。

あなたの質問については、私がそれらに答える限り。

  1. スイングのように比較的簡単です。 CustomComponentを拡張すると、そこに移動します。
  2. パフォーマンス。プログラミング中にパフォーマンスの問題や問題があります。 VAADIN仕様のためにアーキテクチャは何度か考え直さなければなりませんでした。 JPAとの組み合わせでは、私と一緒に働くことは楽しいことではありません。
  3. 伝えるのは難しいです。もちろん、あなたはどこでもMVC、疎結合などを読んでいますが、私は個人的には、以下のコードに影響を与えるGUIフレームワークから根本的に根源があると思います。 plug'n playとしてフレームワークを単純に変更することはできません。詳細はわかりませんが、おそらくライフサイクルはすでに他のフレームワークとは異なります。したがって、FormFactoryを使用する場合など、dbとの通信用のVaadinの実装は、別のフレームワークを使用するときに調整する必要がある永続性レイヤに影響します。単に実装された戦略のためです。
  4. 私はここで経験がありません。
  5. Vaadinはコミュニティでは大きく、多くの人が使っているようです。私は、Vaadinチームがフレームワークを伝播する際に文字通りの努力をしていることを経験しました。また、質問に答えて、できる限り手伝ってくれることを経験しました。私はそれを感謝します。ドキュメントは本当に良いです。

私は個人的には、フレームワークについて深く考えなければならないと思います。あなたが する場合は、大きな枠組みのために選択する前に は、アボを考える - サーバー側のプログラミング(ZK、Vaadin、) - サーバとクライアント(GWT) - マークアップ言語とロジックを使用して(JSF)

になりますどのようなアプリケーションサーバー、データベースなどの環境設定

Vaadinは優れた製品ですが、私が自由に選べるなら、私はそれを使用しません。

チャオ

+0

JSFは瀕死の技術です - http://www.google.com/trends/explore?hl=en#q=jsf&cmpt=q – SSR

1

私は、これは、彼らが最も異なる点であるので、あなたは、それぞれのアーキテクチャに応じて、この決定を行うべきだと思います。

VaadinはHalf-Object Patternに従っているため、GWTよりEclipse RAP(およびZK)に匹敵します。あなたは基本的にサーバーアプリケーションを持っており、それをブラウザから制御します。単純なButtonを考えてみましょう。その状態はサーバー上で保持されており、ブラウザではその状態を表しています。ボタンの状態が変わるたびに、状態を更新するためにサーバーと通信する必要があります。これは、あなたが持っているすべてのウィジェットに当てはまります。

私はVaadinやRAPの経験はあまりありませんが、多くのウィジェットと同時にそれらを使用する多くのユーザーがいるときにサーバーが混乱しなければならない状況を想像してください。これはクラウドの大きな懸念事項ではないかもしれませんが、限られたリソースを持つ従来のサーバー上にある可能性があります。

つまり、このアプローチも携帯にはあまり適していないと想像することができます。すべての状態変更によってサーバーのラウンドトリップが発生しますが、モバイル環境では接続がまったくないか、まったくない場合があります。 ここでは、ブラウザで完全に実行できる「プレーンGWT」を好んでおり、「オフライン」でも使用できます。

他の質問はウィジェットに関するものでした。 GWTはVaadinほど多くのウィジェットを提供していませんが、GWTのウィジェットを補完する優れたウィジェットライブラリがあります。問題は、Vaadinで書かれたWidgetsを普通のGWTで使うことができないため、Vaadinで始めることはできず、後でGWTに切り替えることができないということです。しかし、GWTウィジェットや自己作成ウィジェットは、Vaadinでも使えます。

私は単純なGWTから始めることを提案し、独自のウィジェットをUiBinderで作成することをお勧めします。非常に簡単です。もっと複雑なウィジェットを使いたいと思ったら、GWT-BootstrapSencha GXTのようなウィジェットライブラリを見ると、普通のGWTでとてもうまくいく。

+0

私たちのケースでは一般的なGWTにも感謝しています。 UR時間ありがとう – LPD

関連する問題