2010-11-11 26 views

回答

3

我還沒有試過Vaadin。我是GWT粉絲,但我可以說我對GWT提供的默認小部件集感到有點失望。你真的需要類似SmartGWT來填補框架。

+2

但是對於完全的靈活性,GWT要比SmartGWT好得多。 – koma 2012-01-03 15:19:16

54

在GWT應用程序邏輯通常在客戶端運行。它只在需要讀取/保存一些數據時調用服務器。

Vaadin應用程序邏輯位於服務器端。客戶端通常必須在每次用戶交互後調用服務器。

GWT優點:
應用邏輯(回覆到用戶交互)更快,因爲它是在瀏覽器中本地運行。它對網絡狀況不佳也相對不敏感。只有在需要時才使用網絡(讀取/保存新數據),這可以節省淨流量(對高流量站點很重要)。

在這方面,Vaadin速度較慢,並在UI交互中引入了一個令用戶煩惱的滯後。如果網絡不好,這將顯示在用戶界面響應。

Vaadin優點:
應用邏輯是在服務器上運行,因此它不能由用戶檢查。可以說(Vaadin聲稱)使它更安全。

15

另一個Vaadin優勢:您不必設計或實現客戶端 - 服務器通信,這是內置的。

8

藉助Vaadin,您還可以在客戶端執行某些操作時使用內置的GWT。這可以讓你既簡化服務器端編程模型(無需通信,也不需要瀏覽器編程),同時完全控制瀏覽器中發生的事情。

32

數點:

  • 一個根本區別是,在GWT你有你的應用程序分爲客戶端和服務器代碼,沒有這樣的區分,Vaadin。這將影響您的應用程序的體系結構。

  • 在GWT客戶端代碼中,您必須使用Java進行代碼編寫,並且有可用語言功能的有限子集(即GWT編譯器可以轉換爲Javascript)。在Vaadin中,你可以使用任何JVM語言進行編碼,因爲所有東西都在服務器上運行(我使用的是帶有Scala的Vaadin)。這可能會或可能不會與您有關。

  • GWT編譯非常慢,儘管在開發模式下你有模擬器。這使得生產環境更新變得非常痛苦(我開發的GWT應用程序已經非常大,目前需要大約15分鐘才能編譯)。

  • 將GWT擴展到第三方小部件或自行推出非常簡單。創建新的Vaadin小部件更復雜。

2

由於任何應用程序,以顯示來自該服務器的顯示信息,簡單的編碼的主要要求是自動化的數據綁定到你的表單和表格。使用Vaadin,這與幾行代碼一樣簡單。 在GWT中,首先你沒有表格映射。 至於表單,你可以將一個對象映射到一個表單,但是你必須爲你的對象實現一個所謂的GWT編輯器(並且爲其中的每個對象實現一個)。編輯器是用來顯示/修改對象的表單的定義。總而言之,這裏沒有自動化。

4

我相信Vaadin是不是GWT 但 先進得多的框架,當涉及到客戶端上的優化性能並沒有什麼太多,除非你建立自己的組件(而這也正是Vaadin的美停止,你可以做) 在我現在工作的一個項目中,我所做的工作人員中的90%曾作爲魅力工作 然後我不得不在兩張桌子旁邊使用活動時間表。當我在時間線上加載了超過400個事件時,我的網頁幾乎不可用,更不用說初始化過程中可怕的慢了。過去兩個月我一直在努力優化代碼。最後我使用了一個GWT組件。 Vaadin和GWT之間

7

差異:

A)Vaadin包括一服務器端的開發模型:

  • 通過減少層中的一個具有到 實現用於用戶界面剪切的代碼行數的一半。
  • 允許您使用的用戶界面,任何基於JVM的語言 - 斯卡拉, Groovy的
  • 增加了保持用戶界面邏輯在服務器安全
  • 允許從網絡服務器
  • 允許任何後端API同步調用在 服務器端架構的應用程序使用任何標準的Java庫和工具,UI的第一層的
  • 並不需要的Java與JavaScript編譯步驟,往往需要 時間或使模具在GWT項目複雜的 - 而不是你有 的Vaadin客戶端引擎
  • 提供服務器推送出去,沒有額外的代碼框的所需

B)Vaadin提供一大組高水平的用戶界面組件。對於GWT,需要使用商用Sencha GXT進行可比較的組件集。

C)Vaadin包含基於SASS的Valo主題引擎,可以輕鬆地從您的應用程序構建好看的自定義主題。 Valo是Vaadin的最新主題。

d)數據綁定:Vaadin已經併入在任何部件直接到數據源,如數據庫,文件或任何在服務器側其他相關聯的能力。這使得能夠定義小部件的默認行爲以作用於數據源。

Vaadin vs GWT

相關問題