Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT代码拆分集成:MVP和活动/场所_Java_Gwt_Mvp_Gwt Activities_Gwt Places - Fatal编程技术网

Java GWT代码拆分集成:MVP和活动/场所

Java GWT代码拆分集成:MVP和活动/场所,java,gwt,mvp,gwt-activities,gwt-places,Java,Gwt,Mvp,Gwt Activities,Gwt Places,假设您有一个包含选项卡式窗格的“显示区域”()。单击不同的选项卡(即,从“fantastico”转到“profile”)会在窗格中显示全新的内容。这似乎是一个完美的代码拆分用例,因为直到用户单击“profile”选项卡,他们才需要下载显示它所需的代码。(注意:如果任何GWT大师不同意,并且认为这不是代码拆分的正确用例,那么请向我指出这一点,但这不是这个问题的重点,所以请容忍我!) 现在,如果我对GWT基本架构的理解是正确的,那么显示“概要文件”选项卡所需的代码包括活动,位置,可能是一些MVP内

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

现在,如果我对GWT基本架构的理解是正确的,那么显示“概要文件”选项卡所需的代码包括
活动
位置
,可能是一些MVP内容,例如
演示者
模块
入口点
,当然,这会因应用程序和开发人员的不同而有所不同(正如我在GWT中了解到的,有很多方法可以实现相同的目标),但无论如何,这是一堆MVP/活动/场所“东西”。就这个问题而言,我喜欢回答问题的人提出的模型

阅读后,我试图将所有这些最佳实践结合在一起,并实现一个体系结构,从而:

  • 我实现了CodeSpliting,这样窗格中的每个选项卡都是codesplit(是CodeSplited?codesplat?)作为自己的片段,并且只有在用户第一次单击时才会下载
  • 显示/呈现/实现每个片段(选项卡/窗格)所需的所有代码都被整齐地组织起来,并遵循上述文章中引用的
    AsynchProvider
    模式;这允许它被划分,并且不依赖于其他片段
我开始把所有的部分放在一起,但仍然没有看到这两个概念如何在工作代码中联系在一起

我发现GWT是神秘的、强大的和奇妙的,但是如果没有实用的代码示例,学习起来非常困难。当然,这些线框在“fantastico”或“profile”窗格中并没有显示出任何复杂性,所以请再次忍受并假装它们都是相当复杂的显示区域,有很多丰富的UI组件。提前谢谢

如果显示区域包含选项卡窗格,则无论您使用的是活动还是位置

要拆分选项卡内容,只需使用
SimplePanel
作为真正的选项卡内容,并通过侦听
SelectionEvent
s加载其内容即可。

或者,您可以使用
LazyPanel
,其
createWidget
将返回
SimplePanel
,并异步加载其余的代码。

谢谢@Thomas Broyer(+1)-但是我引用的文章和
AsynchProvider
模式呢?记得我用这个例子来说明我的问题;我敢肯定,当一个
AsynchProvider
实现在组织代码以便在运行时正确分割代码时,可能会有更复杂的场景。地球上怎么会“很难说出这里要问什么”?!?!我说得再清楚不过了。同样,以典型的SO方式,在没有任何评论的情况下结束,要求我改变问题,使其更清楚,用不同的方式表达,或者给我任何机会为其辩护。我不认为这就是所谓的。