2011-03-08 37 views
4

對於由GWT構建的豐富網頁(不是完整應用程序)和網絡應用程序(真正的RIA)組成的大型系統,支持移動設備的最佳策略是什麼?必須支持:iPhone,Android,黑莓。很高興擁有:iPad /平板電腦,Windows 7 Mobile,舊功能手機。對於大型GWT Web應用程序,移動支持有哪些選擇?

背景:Google Web Toolkit(GWT)本身不支持除新版iPhone/Android(webkit)以外的移動Web瀏覽器。 GWT被我們公司用於其跨瀏覽器支持,我們的開發人員熟悉Java服務器端開發,缺乏內部JavaScript/HTML/CSS掌握以及當時相對不成熟的JQuery(2007年初)。 現在,在2011年3月,JQuery已經成熟並且被廣泛採用,JQuery Mobile 1.0已經接近,而且JQuery插件生態系統正在蓬勃發展。

這個問題的一些可能的答案:
利用我們的Web應用程序的GWT代碼庫與以下一個或多個:GWT Mobile,gwt-mobile-webkit,PhoneGap w/GWT。 (我會質疑每一個的成熟度。)
使用JQuery Mobile和插件從頭創建單獨的移動頁面/應用程序。 (由於它看起來像是一個「完全重寫」,所以這沒有吸引力。)
創建原生移動應用程序。 (由於缺乏本地移動開發專業知識以及所需的衆多移動平臺,這是昂貴的。)

感謝您的任何開明評論!

+0

jquery mobile應該直接使用,而不是通過java,所以它可能很難將其整合到現有的gwt解決方案中,但我不是gwt專家。 – naugtur 2011-03-10 12:30:57

+0

PhoneGap是一個將html + css + js應用程序轉換爲可部署在手機上的應用程序以脫機工作並通過某些API使用手機功能的包裝。我不明白它對你的情況會有什麼用處。 – naugtur 2011-03-10 12:32:30

+0

最後,我猜測只有爲GWT製作的東西才能與您已使用的所有功能配合使用。 – naugtur 2011-03-10 12:33:35

回答

1

我的建議是大量使用延遲綁定來處理不同的部署目標。這正是延遲綁定的要點。爲您的應用程序定義一個接口來處理以及基於目標的多個不同實現。如果您下載spring Roo並嘗試他們的GWT啓動器項目,您將獲得一個很好的例子,說明如何做到這一點。個人而言,寧願儘可能多地從JSNI處留下,但如果你必須以某種方式利用jQuery,我會先看看gwtquery和它的插件系統。

+0

僅供參考jQuery Mobile不是jQuery。這是一個可以用來增強html(JS代碼可選)的框架 – naugtur 2011-03-14 15:07:57

+0

感謝您的建議,儘管這並沒有真正回答我的問題。延期綁定是GWT的隱含部分;我們現有的大型網絡應用程序已經廣泛使用它來支持跨瀏覽器/語言。但是,除了最近的iPhone/Android瀏覽器之外,GWT不會生成支持移動瀏覽器的JavaScript。 – velshin 2011-03-14 17:18:04

+0

Sumit Chandel @ Google從2009年開始的這篇舊文章基本上有相同的建議:使用延遲綁定並在JavaScript中編寫自己的(GWT替換)小部件。 [鏈接](http://osdir.com/ml/GoogleWebToolkit/2009-01/msg00210.html) – velshin 2011-03-14 17:33:34

相關問題