2013-04-07 16 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一起去。這不是最好的選擇,但你至少會在垂死的框架中脆弱。

在我們的項目中我必須使用Vaadin,我不會這樣做。我更喜歡ZK(http://www.zkoss.org/)或GWT。

關於你的問題,據我所能回答。

  1. 比較容易的,像鞦韆。你擴展CustomComponent,然後你去。
  2. 表現。我們在編程時遇到性能問題和問題。由於VAADIN規範,架構必須多次重新考慮。結合JPA,對我來說,與其合作並不愉快。
  3. 很難說。當然你可以隨處閱讀關於MVC,鬆散耦合等的知識。但是我個人認爲,你的GUI框架總是會有一些根源影響下面的代碼。你不能簡單地將框架改變爲即插即用。我不知道細節,但生命週期可能已經不同於其他框架。因此,Vaadin與db的通信實現,例如使用FormFactory時,將會影響您在使用其他框架時必須調整的持久層。只是因爲實施的戰略。
  4. 我沒有經驗。
  5. Vaadin在社區中很大,看起來很多人都在使用它。我體驗到Vaadin團隊在傳播框架方面做了一番努力,並且在那裏回答問題並儘可能地幫助您。我很感激。文檔非常好。

我個人認爲你必須深入思考這個框架,以及它是否符合你的需求。 選擇一個大的框架之前認爲阿布,如果你想 - 服務器端編程(ZK不同,Vaadin) - 服務器和客戶端(GWT) - 使用標記語言和邏輯(JSF)

會有什麼你的環境設置,如應用程序服務器,數據庫等?

雖然Vaadin是一個很好的產品,但我不會使用它,如果我可以自由選擇。

+0

JSF是一種垂死的科技 - http://www.google.com/trends/explore?hl=zh-CN#q=jsf&cmpt=q – SSR 2013-04-11 04:39:01

1

我想你應該做出這個決定取決於每個的架構,因爲這是他們最不同的一點。

Vaadin遵循Half-Object Pattern,因此與Eclipse RAP(和ZK)比GWT更具可比性。你基本上有一個服務器應用程序,你可以從瀏覽器控制它。想想一個簡單的按鈕,它的狀態保存在服務器上,並在瀏覽器中看到它的表示。每次Button的狀態發生變化時,它都必須與服務器進行通信以更新其狀態。所以對於你所擁有的每個部件都是如此。

我必須說我對Vaadin或RAP沒有太多經驗,但想象一下,當有許多小部件和許多用戶同時使用它們時,服務器將不得不玩弄多少狀態。這可能不是雲中的大問題,但也許在資源有限的傳統服務器上。

這就是說,你可以想象,這種方法也不是非常適合移動。每次狀態更改都會導致服務器往返,但在移動設備上,您可能連接不良甚至無法連接。 在這裏,我顯然更喜歡純粹的GWT,因爲它可以完全在瀏覽器中運行,也可以「離線」使用。

你的其他問題是關於小部件。確實,GWT並不提供與Vaadin一樣多的小部件,但是在那裏有很多Widget庫來補充股票GWT小部件。問題是,你不能從Vaadin開始,稍後決定切換回GWT,因爲在Vaadin中編寫的Widget不能在純GWT中使用。但是反過來,GWT Widgets和自編的小部件在Vaadin中也可以使用。

我建議從簡單的GWT開始,用UiBinder編寫自己的Widget,這非常容易。如果你覺得你想使用一些更復雜的小部件,看看像GWT-BootstrapSencha GXT小部件庫,他們玩GWT非常漂亮。

+0

感謝我們在本例中使用了簡單的GWT。感謝你的時間 – LPD 2013-05-30 09:08:16