Java GWT代码拆分集成:MVP和活动/场所
假设您有一个包含选项卡式窗格的“显示区域”()。单击不同的选项卡(即,从“fantastico”转到“profile”)会在窗格中显示全新的内容。这似乎是一个完美的代码拆分用例,因为直到用户单击“profile”选项卡,他们才需要下载显示它所需的代码。(注意:如果任何GWT大师不同意,并且认为这不是代码拆分的正确用例,那么请向我指出这一点,但这不是这个问题的重点,所以请容忍我!) 现在,如果我对GWT基本架构的理解是正确的,那么显示“概要文件”选项卡所需的代码包括Java GWT代码拆分集成:MVP和活动/场所,java,gwt,mvp,gwt-activities,gwt-places,Java,Gwt,Mvp,Gwt Activities,Gwt Places,假设您有一个包含选项卡式窗格的“显示区域”()。单击不同的选项卡(即,从“fantastico”转到“profile”)会在窗格中显示全新的内容。这似乎是一个完美的代码拆分用例,因为直到用户单击“profile”选项卡,他们才需要下载显示它所需的代码。(注意:如果任何GWT大师不同意,并且认为这不是代码拆分的正确用例,那么请向我指出这一点,但这不是这个问题的重点,所以请容忍我!) 现在,如果我对GWT基本架构的理解是正确的,那么显示“概要文件”选项卡所需的代码包括活动,位置,可能是一些MVP内
活动,位置,可能是一些MVP内容,例如演示者,模块,入口点,当然,这会因应用程序和开发人员的不同而有所不同(正如我在GWT中了解到的,有很多方法可以实现相同的目标),但无论如何,这是一堆MVP/活动/场所“东西”。就这个问题而言,我喜欢回答问题的人提出的模型
阅读后,我试图将所有这些最佳实践结合在一起,并实现一个体系结构,从而:
- 我实现了CodeSpliting,这样窗格中的每个选项卡都是codesplit(是CodeSplited?codesplat?)作为自己的片段,并且只有在用户第一次单击时才会下载
- 显示/呈现/实现每个片段(选项卡/窗格)所需的所有代码都被整齐地组织起来,并遵循上述文章中引用的
AsynchProvider
模式;这允许它被划分,并且不依赖于其他片段
我开始把所有的部分放在一起,但仍然没有看到这两个概念如何在工作代码中联系在一起
我发现GWT是神秘的、强大的和奇妙的,但是如果没有实用的代码示例,学习起来非常困难。当然,这些线框在“fantastico”或“profile”窗格中并没有显示出任何复杂性,所以请再次忍受并假装它们都是相当复杂的显示区域,有很多丰富的UI组件。提前谢谢 如果显示区域包含选项卡窗格,则无论您使用的是活动还是位置
要拆分选项卡内容,只需使用SimplePanel
作为真正的选项卡内容,并通过侦听SelectionEvent
s加载其内容即可。
或者,您可以使用LazyPanel
,其createWidget
将返回SimplePanel
,并异步加载其余的代码。谢谢@Thomas Broyer(+1)-但是我引用的文章和AsynchProvider
模式呢?记得我用这个例子来说明我的问题;我敢肯定,当一个AsynchProvider
实现在组织代码以便在运行时正确分割代码时,可能会有更复杂的场景。地球上怎么会“很难说出这里要问什么”?!?!我说得再清楚不过了。同样,以典型的SO方式,在没有任何评论的情况下结束,要求我改变问题,使其更清楚,用不同的方式表达,或者给我任何机会为其辩护。我不认为这就是所谓的。