2011-11-09 34 views
1

我在很多地方的代碼分割可以顯著加快GWT應用程序的初始加載時間讀過。 但是,在我們進行分割之前,我們想知道在開發模式下延期下載的代碼是否也可以工作?GWT:不代碼分裂有什麼影響時,在開發模式

目前我們最痛苦的一點是,在調試模式下的發展模式,當我們刷新瀏覽器(刷新客戶端代碼中的變化),這將需要3.7年的應用程序重新加載。 在生產模式下,應用程序將在幾秒鐘內加載。

回答

7

代碼拆分在開發模式中絕對沒有影響,因爲您的應用程序未編譯爲JavaScript。

當GWT.isScript()爲假(開發模式)RunAsyncCallback.onSuccess()方法被立即運行。很明顯,如果您檢查GWT.runAsync()方法的源代碼。

編輯:只是一個小東西添加,以及:不要用DevMode的使用Chrome。 Chrome瀏覽器仍然存在一個突出的問題(現在這個鏈接讓我不知所措),這讓DevMode Plugin for Chrome的運行非常緩慢。使用Firefox,它是開發模式插件中速度最快的。

4

如前所述,代碼拆分在開發模式中絕對沒有影響。 只有我可以建議你的是增加內存JVM上啓動: 例如,我們在我們的項目中使用:

-Xmx1024m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:PermSize=256M -XX:MaxPermSize=512M 

而且升級工作的硬件(CPU,內存),它可以幫助你編譯在開發模式下更快的Java代碼。

3

如果你想更快DevMode的你應該如何編寫你的應用程序更加小心。儘可能用戶延遲加載,將應用程序拆分爲獨立模塊。 例如假設您擁有5000個類的應用程序。通常開發人員只需更改應用程序的某些部分,而不是全部應用程序(例如一頁)。所以基本上你需要確保啓動應用程序的一個簡單部分,只加載應用程序所需的類。例如。而不是加載5000個類,只會加載100個類。同時檢查像RPC Type Explosion這樣的常見錯誤,它們也會影響devmode。並嘗試GWT 2.4它比以前的版本(我的意思是DevMode)要快得多。

0

在我的(中等長度)的經驗,我注意到了Internet Explorer 9的也是開發模式非常快,很多Chrome以外的更穩定。 GWT插件不會崩潰應用程序的其他每個重新加載。

你可以試一試,看看它是否適合你。

相關問題