0

我将需要构建一些复杂的 GUI(大约 100 个视图)。因此,我们需要尽可能地并行开发(可能需要 10 个开发人员)。一种选择是以经典方式使用 html、css(指南针)和 JQuery+plugin 进行开发。我们确切地知道该怎么做,对此毫无疑问。

另一种选择是使用 GWT,但我们担心使用 GWT 可以并行开发多少。我们希望大量使用 Ajax,我们的 100 个视图将托管在最多 5 个页面上。

任何有这种关注的经验回报将不胜感激。

JM。

4

2 回答 2

7

GWT 非常适合并行开发,但要注意学习曲线!

IMO GWT 更适合 OO 开发人员编写 UI 代码,而不是 Js 开发人员。

Java(像许多其他 OO 语言一样)允许您将类拆分为许多小文件,从而允许许多人同时处理项目。设计模式可以帮助您将复杂的编程模式分解为可重用的块。GWT 最常用的模式是 MVP(MVC 的替代版本)、Observer(使用 eventBus)、Command(使用gwt-dispatch)……此外,您还可以使用Gin的依赖注入之类的东西,以便可以组合模块很容易,基于它们的接口(是否实现)。

所以 GWT 非常适合 Java 开发人员。他们可以使用他们(应该)掌握的模式,而且他们(大多数时候)不必担心特定于浏览器的细节或 Javascript。

许多具有 JavaScript 背景的开发人员倾向于(至少在开始时)用 Java 编写代码,就好像它是 JavaScript 一样。风格不同,需要花费大量时间才能生成设计良好的 Java 代码,更不用说 GWT 了,因为模式和 GWT 特定的设计至关重要,而且文档并不总是很好。任何人都可以用 Java 编写代码,但周围的数百本书和数十亿行糟糕的代码清楚地表明,编写好的OO 代码并非那么容易。

Js也是如此。将 Java 开发人员放在一个 Js 项目上,并在数小时内观察代码被弄乱。

正如 Rod Johnson(Spring 框架之父)在他伟大的书籍专家一对一 j2ee 设计和开发中所说,在选择技术时,您应该根据您拥有的技能做出决定!

因此,如果我有一个 Javascript、HTML 和 CSS 的杀手团队,他们对上述模式或 Java 的知识有限,我会告诉他们学习 Ember(如果他们还不知道的话)或任何其他 Javascript MVC 框架还有助于并行开发,购买诸如“可维护的 JavaScript”或“Javascript 模式”之类的书籍,并让每个人继续做他们最擅长的事情。

如果团队受到新技术的激励并想尝试 GWT,我会让他们中的一两个进行至少一个月的概念验证。如果他们对 GWT 感到满意,我会聘请最好的 GWT 顾问,让他每周检查一次我们是否在正确的地方使用了正确的工具和正确的模式,并让团队接受 GWT。根据他们对 Java 和上述模式的了解,我至少会为每个人预留 3 到 6 个月的预算来加快速度。

这是我自己的经验。

我们为一个为期一年的项目聘请了两名没有 GWT 背景的中级顾问,其中有 6 人具有过程编程背景,而另一半则具有普通的不太花哨的 Java 背景。

顾问们表现得好像这是一个有偿的自我培训机会。大多数由外包人员和团队做出的设计决策都没有机会犯自己的错误并从中吸取教训。目前(一年后)每个人都进步了,但我们仍然在模式、工具和设计问题上苦苦挣扎。我花了一个月的时间阅读了 GWT 文档和两本关于这个主题的书,但至少有 4 个月的实践开发才开始发现我在很多地方都错了。我每天都在学习有关 GWT 的新知识,并且每隔两周就会发现我们做出的新的糟糕设计决策。

于 2013-09-17T10:06:48.753 回答
1

使用 GWT,您可以使用 MVP 设计模式,它将您的屏幕分为小视图和演示者。取而代之的是创建了通用的 socle 和导航,您可以在独立的视图上工作每个开发人员。GWT 的文档:http: //www.gwtproject.org/doc/latest/DevGuideMvpActivitiesAndPlaces.html

我希望我能回答你的回复。

于 2013-09-17T07:44:03.767 回答