2008-12-28 109 views
22

您是否曾經爲GWT使用過許多半熟的數據綁定解決方案之一?如果是這樣,它的工作效果如何?GWT的最佳數據綁定解決方案

我想停止滾動我自己的GWT綁定,但在數據綁定空間中沒有明確的贏家。

我寧願使用未來的東西,例如GWT孵化器,但還沒有什麼。

我使用GWTDesigner並喜歡它,但它似乎並沒有解決這個問題。

它是一個非常基本的缺失功能。你知道GWT團隊是否計劃增加對此的支持嗎?那樣的話,也許我會等。

感謝

回答

0

剛纔我看到它在幾分鐘前在所謂的GWTEventService 1.0已經發布了一個郵件列表。我不完全確定,如果那是你想要的,但對我來說這聽起來很有希望。

讓我引用的網站:

GWTEventService是基於事件的客戶端服務器通信的框架。它使用GWT-RPC和Comet/server-push技術。 客戶端提供了一個高級API,並有機會將偵聽器註冊到服務器,如GUI組件。可以將事件添加到服務器端的上下文/域中,並且客戶端上的偵聽器獲知有關傳入事件的信息。服務器端完全獨立於客戶端實現並且高度可配置。可以定義域來決定哪些事件對於不同的上下文很重要。

也許這是一個解決方案。我會試一試。

2

SmartGWT(http://www.jroller.com/sjivan/entry/smartgwt_1_0_released)是產品smartclient的GWT API。 他們有一個很好的數據綁定解決方案,因爲它是在考慮服務器端集成的情況下構建的。但缺點是它不是純粹的本地GWT框架。它是另一種產品(智能客戶端框架)的JSNI包裝器。

+4

更多信息:數據綁定目前需要專業版許可證,每個開發人員745美元。 – dfrankow 2009-06-25 17:54:30

0

Gilead,以前稱爲Hibernate4GWT,「定義了一個PersistentRemoteService類,它繼承自RemoteServiceServlet以處理持久的實體管理。」幾年來它一直在積極發展。

+0

這可以讓你將一個JDO註釋的對象從服務器傳遞給客戶端,但仍然不會從構建對象的UI或驗證等方面做任何事情。 – dfrankow 2009-06-25 17:55:25

+0

原來的問題不是關於構建UI或驗證等。它是關於數據綁定的。與我一起工作的好友爲標準Widget派生的小部件編寫了一個容器類;這些派生的小部件引用屬性名稱,而容器類通過屬性名稱處理數據庫交互。不過,這似乎是解決不同問題的答案。 – Glenn 2009-07-07 05:07:43

1

如果它的UI與模型的數據綁定(即綁定到某個模型對象的屬性的文本框),那麼GWT有一個名爲UIBinder的庫特徵。它尚未完全準備好用於生產,但顯然(未發佈),但谷歌浪潮團隊正在使用它(看起來像它的工作很好)。檢查這個頁面的一些信息http://code.google.com/p/google-web-toolkit-incubator/wiki/UiBinder

如果你在談論從服務器返回模型對象(如hibernate對象)的GWT RPC,其他地方提到的Gilead可能值得一看 - 雖然我從來沒有任何個人經驗。還有另外一種方法,那就是使用Javascript Object Overlays來將json變成它們在GWT中使用的等效類模型(對於像grails這樣的框架很好,可以很容易地導出json,但是它們的域模型不是RPC兼容的) 。看看這些博客文章的上http://raibledesigns.com/rd/entry/json_parsing_with_javascript_overlay(和http://googlewebtoolkit.blogspot.com/2008/08/getting-to-really-know-gwt-part-2.html

0

退房的gwtXP。

gwtXP允許您在XML中聲明UI元素,數據綁定和操作處理程序。實例:

  • 申報的用戶界面元素:<克:標籤文本=「用戶名: 」/>
  • 聲明數據結合(使用了Eclipse數據綁定):<克:的textBox文本=「 $ {user.userName }「/>
  • 支持值綁定和列表綁定。
  • 申報動作處理程序:<克:按鈕文本= 「保存」 的onClick = 「#{saveUser}」/>

更新於2006年3月20010:見在http://www.gdevelop.com/w/blog/2010/03/06/data-binding-in-gwt/