簡體   English   中英

將GWT應用程序分解為模塊,入口點和片段

[英]Decomposing GWT Application into Modules, Entry Points & Fragments

GWT模塊的理解是,它是“可重用性的單位”。

EntryPoint 理解是,它是與客戶端瀏覽器進行交互的模塊。 因此,我認為EntryPoint是一種“可執行JAR”,而模塊是一個庫JAR或DLL。

片段的理解是,它是模塊的子組件,用於延遲綁定和代碼拆分。

因此,首先,如果我對以上任何說法都不正確,請首先糾正我或為我澄清事情!

如果我是正確的,那么很明顯,您可以根據需要將模塊分解為片段。 您編寫模塊,以各種方式對其進行測試,查看soyc編譯器報告,如果發現瓶頸,則可以根據需要開始分段和代碼拆分,是嗎?

但是,如何將應用程序分解為模塊和入口點呢?! 再次,我確定所有這些都是需要的並且是特定於應用程序的。 我只是讀了這篇有關構建GWT應用程序的文章 ,盡管它很有幫助,但它仍然沒有提供將應用程序分解為模塊/入口點的任何瑣事或指導原則。

我已經計划將我的應用程序分為兩個模塊: WebModuleAppModule WebModule將成為應用程序( 網站 ,如果您願意的話)的“公共”部分,並且在用戶成功登錄后將下載AppModule (出於安全目的,我這樣做)。

但是除此之外, 我不確定如何將AppModule分解為其他模塊 ,以及如何確定這些模塊是否需要入口點。 因此,我想問:您是否將模塊拆分以通過代碼下載來規避網絡延遲問題,何時/為什么要對應用程序進行模塊化,以及何時模塊需要入口點?

EntryPoint不是單獨的模塊。 它是模塊的一部分,並具有在啟動應用程序時將被調用的功能。

模塊的重點是對邏輯功能進行分組,以便您可以在不同項目之間共享代碼。 沒有其他的。 GWT已經附帶了很多模塊(HTTP,Activity,Places,Debug)。 如果您決定像這樣將其分組,則您的應用程序中可能包含一個COMMENT或USER模塊。

僅在需要時才使用代碼拆分。 您可能只能通過GWT.runAsync()引用超出片段邊界的代碼,這可能是一個很大的煩惱。 我建議您僅在遇到應用程序加載緩慢的情況下才執行此步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM