我对GWT的理解是它首次发布的活动和场所概念,以支持UI作为状态机的想法,其中每个状态是UI的可书籍配置。
我的理解是GWT后来发布了他们的建议,用MVP架构模式构建GWT应用程序,以便更好地分离关注点和更容易的单元测试。
但是,当您下载示例应用程序并真正查看源代码时,虽然这两种想法都促成了client
,server
和shared
包结构,但它们的内部工作基于不同的概念和不同的核心类型。基本上,似乎你必须在一个或另一个之间做出选择(这是真的吗?)。
现在我看到GWTP(GWT平台)。这个看起来就像是活动/地方范例以及MVP设计的完美结合。所以我问:如果我选择使用GWTP,那么在活动/地方或MVP领域还有什么我会错过的?换句话说,通过使用GWTP,我限制自己并被禁止使用这两个项目中的任何最佳实践或组件?提前谢谢!
答案 0 :(得分:8)
Google首先提出了MVP模式以简化测试(AFAIK,同时开发Google Wave),并在Google I / O 2009和2010上进行了讨论。
与此同时(实际上,谁知道?在Ray Ryan的演示之前它是谷歌内部的),他们提出了 places 的概念作为一种类型安全,面向对象的方式在应用程序中导航,作为浏览器历史记录的抽象(com.google.gwt.user.client.History
)。它只是在2009年演讲结束时以地方服务的形式迅速提及。
后来,他们带来了活动的概念(部分受到Android自己的活动AFAICT的启发),并在GWT 2.1中实现了它(其第一个里程碑于2010年7月发布)。
这两个概念一起使用,并在GWT SDK的 Mobile Web App 示例中得到最佳演示。
至于GWTP,它建立在Ray Ryan 2009年的演讲(用于导航的位置和MVP的概念)的基础上,并且根本不使用活动和放置API(GWTP早于它们)。查看http://code.google.com/p/gwt-platform/wiki/ComparisonWithGwtMVP以了解GWTP与GWT的活动和地点(首先被错误地宣传为关于MVP)的比较。