【问题标题】:GWT Codesplitting Integration: MVP and Activites/Places [closed]GET代码拆分集成:MVP和活动/地点[关闭]
【发布时间】:2012-10-23 09:04:09
【问题描述】:

假设您有一个“显示区域”(AcceptsOneWidget),其中包含一个选项卡式窗格。单击不同的选项卡(即,从“fantastico”到“profile”)会导致在窗格中显示全新的内容。这似乎是代码拆分的完美用例,因为在用户单击“profile”选项卡之前,他们不需要下载显示它所需的代码。 (注意:如果任何 GWT 专家不同意并且认为这不是代码拆分的正确用例,请向我指出这一点,但这不是这个问题的重点,所以请只是忍受我!)

那么,如果我对基本 GWT 架构的理解是正确的,那么显示“profile”选项卡所需的代码由Activity(ies) 组成,Place(s),也许是一些 MVP 的东西,例如 PresenterModuleEntryPoint 等。当然这会因应用程序和开发人员的不同而有所不同(正如我在 GWT 中了解到的那样实现相同目标的许多方法),但无论如何,它都是一堆 MVP/Activity/Place “东西”。对于这个问题,我喜欢this SO question的回答者提出的模型。

在阅读this article on the AsynchProvider pattern 之后,我试图将所有这些最佳实践结合在一起并实现一个架构:

  • 我实现了代码拆分,使得窗格中的每个选项卡都被代码拆分(是 codesplitted 吗?codesplat?)作为自己的片段,并且仅当/当用户第一次点击它
  • 显示/渲染/实现每个片段(选项卡/窗格)所需的所有代码都井井有条,并遵循上述文章中引用的AsynchProvider 模式;这允许它被划分并且不依赖于其他片段

我开始将所有部分放在一起,但仍然没有看到这两个概念如何在工作代码中联系在一起。

我发现 GWT 是神秘的、强大的和美妙的,但是如果没有可遵循的实际代码示例,则很难学习。当然,这些线框在“fantastico”或“profile”窗格中并没有真正显示出任何复杂性,所以请再次忍受并假装它们都相当复杂显示具有大量丰富 UI 组件的区域。提前致谢!

【问题讨论】:

  • 地球上怎么会“很难说出这里问的是什么”?!?!我不能让它更清楚。此外,以典型的 SO 方式,在没有任何 cmets 要求我更改问题、使其更清晰、不同措辞或给我任何捍卫它的机会的情况下关闭。我不认为这就是 SO 的意义所在。

标签: java gwt mvp gwt-activities gwt-places


【解决方案1】:

如果显示区域 包含标签窗格,那么无论您使用的是活动还是地点都没有关系。

要拆分标签内容,只需使用SimplePanel 作为真正的标签内容,并通过侦听SelectionEvents 来加载其内容。
或者,您可以使用LazyPanel,其createWidget 将返回SimplePanel异步加载其余代码。

【讨论】:

  • 感谢@Thomas Broyer (+1) - 但是我引用的文章和AsynchProvider 模式呢?请记住,我使用此示例来帮助说明我的要求;我敢肯定,当AsynchProvider 实现可能对组织代码非常有帮助,以便在运行时正确拆分时,会有更复杂的场景。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-01
  • 2015-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多