在Silverlight的世界中,RIA Service + Silverlight可以無縫的進行集成,如有一個實體對象和關聯的複雜子對象,在這裏可以非常簡便的實現:
1、構建公用的Domain Class定義
2、Silverlight客戶端可以使用雙向綁定和以上的對象關聯
3、服務端可以使用以上的Domain Class進行存儲
因此非常方便,WCF框架已經提供了WCF Trackable支持,如某個對象內容的變化內容可以跟蹤,等等。。
Flex中配合BlazDS也可以非常方便的處理這個問題。
而在JavaScript+ Servlet的環境以上對象該使用哪種方式呢?
查閱了相關的資料,歸納起來,目前查到的主要有:
1、Java方面的改善方案
GWT:其中的rpc傳遞客戶端和服務端公用的對象,客戶端界面元素的雙向綁定,好像也沒有達到這個程度
ZK:這個以servlet爲中新的框架倒可以簡化處理,但畢竟消耗了大量的服務器資源
...
2、JavaScript的改善方案
KnockoutJS:對MVC的客戶端開發很強,但JavaScript Object如何和Domain Object公用呢,寫兩遍太複雜了吧
Jquery Template: 沒有仔細看,但對於這個鴻溝還是不好處理
...
現在常用的SSH框架中的Domain Object如何在客戶端中結合JavaScript構建一個比較完善,而且代碼不要反覆重複的解決方案呢?
園子中是否有這類的開發推薦?真是一個困惑的問題!
最理想的方式[待解]:
對象可以在服務端、客戶端共享,以減少前端、後端的輔助編碼
客戶端可以雙向綁定該對象,如jQuery UI easyUI等界面元素
對象傳遞到服務端可以使用hibernate/JPA等持久化到數據庫中(或者使用automapper這類的轉換)