50

私は Wicket と Vaadin の間で迷っています。マイクロ ISV を開始しており、Web フレームワークを選択する必要があります。選択肢を Wicket と Vaadin に絞り込みました。私は両方のフレームワークを使用しており、どちらも気に入っています。しかし、私は選択をする必要があります。

Vaadin を選択した場合:

  1. 見栄えもさほど気にする必要はありません。素敵なテーマが付属しています。
  2. 私はすべてのプログラミングを Java で行いますが、これは非常に得意であり、あまり得意ではない CSS のハッキングに時間を費やす必要はありません。
  3. また、ビジネス アプリケーションに必要なコンポーネントのほとんどは、デスクトップのようなレイアウト、ツールヒント、キーボード ショートカット、ドラッグおよび折りたたみ可能な列を含むテーブルなど、そのまま使用できます。

ただし、Vaadin の方法を使用すると、次のようになります。

  1. UI を宣言的に作成する機能が失われます。
  2. ブラウザーが JavaScript をサポートしていない場合 (たとえば、Webkit 以外のほとんどのモバイル ブラウザー)、フォールバック機能はありません。
  3. Vaadin 社は JPAContainer などのコンポーネントを販売しているため、同社が完全なオープンソース フレームワークの提供にコミットするかどうかはわかりません。ビジネス上の利益が常に優先されます。
  4. Vaadin アプリケーションは、主にイントラネット向けです。Web ルック アンド フィールのインターネットにはあまり適していません。

私がウィケットの道に行く場合:

  1. アプリケーションのスタイルを設定する必要があり、デスクトップのルック アンド フィールを与えることはほとんどできません。

何かアドバイス?いずれかのフレームワークの経験がある方は、長所と短所、およびどのように決定したかを親切に教えてください。

4

7 に答える 7

33

私は両方のフレームワークに時間を費やしたと思います。Swingに似たコーディングをWeb開発にもたらすので、私は両方が本当に好きです。そして、私にとって簡単なものはわかりません(クリックはありますが、ベロシティテンプレートは好きではありません)

はい、違いがあります。

見た目や使い心地をあまり気にする必要はありません。素敵なテーマが付属しています。

本当ですが、真面目な会社はすべて、アプリのスタイルを変えます(プロトタイピングをしている場合を除く)

私はJavaですべてのプログラミングを行いますが、これは非常に得意であり、あまり得意ではないcssのハッキングに時間を費やす必要はありません。

そうすれば、Vaadinは「より良い」でしょう。

UIを宣言的に作成する機能が失われます。

その利点は何ですか?(BTW:Groovyで宣言型をコーディングできます;-))

しかし、わかりました。私はあなたが何を意味するのか知っています:あなたがウィケットよりも別のデザイナーに努力することができれば、「より良い」です。

デスクトップのルックアンドフィールを与えることはほとんどできません。

なぜだめですか?または、ここでどういう意味ですか?Wicketはajaxをサポートし、「デスクトップに似た」優れた機能をサポートするコンポーネントがあります(ajaxlink、lazycomponent、autocompletion、progressbar、wicket stuff +extensionsを参照)。わかりました。より複雑なコンポーネントの場合は、JavaScriptでコーディングする必要がありますが、ウィケット内でGWTを使用することもできることをご存知でしたか。

いくつかのマイナーな経験:

Vaadinは、コーディング中は確かに高速です(css、htmlのものはありません)。ただし、本番環境に移行する場合は、プログラミングの容易さがクライアント側のパフォーマンスを犠牲にする可能性があることに注意してください。たとえば、Horizo​​ntal / VerticalLayoutなどの「間違った」レイアウトを使用する場合、JavaScriptを大量に使用すると速度が低下する可能性があります。古いブラウザをダウンします。

しかし、Vaadinは遅くはありません!CssLayoutやFastLayoutなどの適切なレイアウトを使用すると、古いブラウザでも使用できます。(ただし、CssLayoutを使用する場合、コーディングスタイルは実際には改札に似ています。)

Vaadinの問題の1つは、クライアントがすべてのCPUを必要とし、ネストされたdivが不可解なID名を取得する場所が簡単にわからないため、プロファイリングが少し難しいことです。

Wicketの優れた点の1つは、ワープ持続統合です。

(GuiceはVaadinとWicketに統合できます)

UIのテストは、Vaadinを使用すると簡単になり(単体テストのものは見つかりませんでしたが)、wicketを使用すると非常に簡単になります。

最後になりましたが、リスト/テーブルの作成は、改札に比べてVaadinでは非常に簡単です。

于 2010-09-07T17:11:06.377 に答える
12

私は Wicket を広範囲に使用してきましたが、Vaadin を使用した経験がないため、これは (少し) 偏っている可能性があります。

明らかな理由から Wicket をお勧めしますが、おそらくあなたが興味を持っているのは、Wicket のオープン性です。Gweebz が正しく指摘したように、Wicket は基本的な HTML マークアップをその基盤として使用しているため、構造的または表面的な変更を実装するのはたいてい簡単です。

個人的にウィケット作業で本当に楽しいことの 1 つは、フロント エンド プレゼンテーションとデータ バックエンドの間の流れです。Spring と JPA/Hibernate を実装しました。つまり、フロント エンドの変更をデータベースに戻すことができます。 Wickets のモデル ベースのアーキテクチャにより、コードは 1 行で済みます。

繰り返しますが、Vaadin がそれを扱ったことがないことについてはあまり言えませんが、最初に使用するアーキテクチャを探している場合は、GWT を確認することもお勧めします。

于 2010-08-25T07:14:38.750 に答える
10

(continued from the comment in the first Wicket-related answer)

The major difference between Vaadin and Wicket is with how UI composition and client side code is written. With Vaadin you usually compose your UI without any templates or HTML at all and you get a sleek, fully Ajax'ed UI out of the box. However, if you prefer the templating approach just use CustomLayout which does exactly that.

Client side coding is rarely needed, but when it is you do it with the Java-based GWT which is IMO a lot more nicer than writing Javascript by hand. Besides, with GWT you automatically get cross-browser compliant solution instead of having to deal with those issues yourself.

When comparing frameworks you also should take a look at community activity and documentation. With Vaadin both of those are excellent. Also note the Vaadin Directory which currently contains 100+ very useful UI components and other addons.

于 2010-09-01T22:17:35.113 に答える
8

それぞれの経験は限られていますが、Vaadin の方が好きです。これにより、私が開発していた Web アプリケーションのエクスペリエンスがより豊かになりました。しかし、私たちを納得させた主な利点は、UI クラスに関する単体テストを簡単に記述できることでした。これにより、期待どおりに相互作用したときにコンポーネントが正しく機能することが保証されました。これは Wicket でも可能ですが、私の経験ではより困難でした。

また、どちらのフレームワークにもスタイリングが必要であることにも言及します。Wicket はプレーンな古い HTML として始まり、Vaadin はデフォルトで MacOSX のようなテーマで始まりますが、作成するほとんどすべての Web アプリには、少なくともいくつかのカスタマイズが必要です。これを念頭に置いて、マークアップを制御するという単純な理由から、Wicket アプリの CSS のカスタマイズは Vaadin よりもはるかに簡単です。Vaadin はマークアップを非表示にし、奇妙な ID と構造を持つ要素を生成するため、外観のカスタマイズが難しくなります。決定を下すときは、このことを覚えておいてください。

于 2010-08-24T17:57:00.247 に答える