2012-09-07 61 views
2

我正計劃編寫一個GWT應用程序,該應用程序將部署到Web和移動Web以及本機設備上的應用程序。爲此,我將首先將我的GWT編譯爲JavaScript,然後使用GWT-Phonegap庫來幫助橋接該JavaScript以與PhoneGap API兼容。GWT Codesplitting和PhoneGap

我唯一關心的是代碼分割。使用普通瀏覽器,GWT允許開發人員指定可在客戶端和服務器之間的不同時間下載的片段。這可以防止大型應用程序被作爲一個巨大的龐然大物下載並永久在瀏覽器內啓動。

但是使用原生應用程序(由PhoneGap構建),用戶將從市場下載應用程序,並期望當時下載所有代碼(100%)。

所以我問:GWT-Phonegap如何處理代碼分割和碎片?代碼分割命令是否會被忽略?

回答

3

由於phoneGap應用程序實際上是一個與javascript和html打包在一起的WebBrowser組件,我猜測它會像在瀏覽器中那樣工作。唯一的區別是所有用於「下載」代碼的通信都將位於同一設備中。

+0

Thanks @ user905474(+1) - 這是什麼WebBrowser組件,它在哪裏定義?這是PhoneGap SDK的一部分嗎?它是一個JavaScript構造?你能指出我的一些文件嗎?從你的答案*聽起來*就像它的某種嵌入式網絡瀏覽器(即PhoneGap嵌入在本地二進制文件中)。如果是這樣的話,那麼當你說「*代碼將在同一個設備上是本地的*」時,你的意思是說前端代碼(HTML/CSS/JS等)只是從嵌入的「下載」瀏覽器到一些嵌入式客戶端如果不是,請爲我澄清。再次感謝! – IAmYourFaja

+0

更正 - 上面,我的意思是寫「......從嵌入式**服務器**到某些嵌入式客戶端?」 – IAmYourFaja

+0

@ 4herpsand7derpsago:「從你的答案來看,它聽起來像是某種嵌入式Web瀏覽器(即PhoneGap嵌入到本地二進制文件中)」是的,這是正確的。 Web客戶端和Web控件一起打包。服務器不在移動設備中運行。據我所知,服務器部分不需要打包。因此,您可以使用相同的gwt web應用程序,併爲每個移動平臺創建不同的包裝。 – Spiff

0

藉助Phonegap,您可以將所有資源都放入應用程序中(HMTML,CSS,JavaScript)。如果您使用的是gwt-phonegap,那麼您只需將完整的編譯器(通常放在war文件中)放入應用程序中即可。因此,在本地部署javascript之後,代碼分割並沒有真正的問題。