1

我们即将开始一个新的项目开发,它基本上是一个后台应用程序。

我们在后端选择了以下技术:

春天,JPA,mySQL,MongoDB,RabbitMQ..

我们选择使用 GWT 作为我们的前端框架。

我的问题很简单:

我们应该创建一个包含后端和前端的项目吗?

或者:

我们是否应该创建 2 个单独的项目,一个是纯后端项目,而另一个是纯前端?

编辑 - 我们是一个由 4 名开发人员组成的团队,每个人都应该在端到端开发中亲自动手。即团队中的每个人都应该编写从客户端到服务器的功能。

4

2 回答 2

0

为简单起见,我会将其分解为纯前端项目和纯后端项目。由于您必须在两者之间编写消息传递服务,因此工作量会稍微多一些,但从长远来看,您可以将该后端重用于其他前端/服务。

由于您将使用 RabbitMQ 进行消息传递,因此您不妨将它们分开,当负载变重时,您只需插入另一个前端实例或当后端开始受苦时,启动另一个后端或当队列受苦时,启动RabbitMQ 的另一个实例。

对于前端项目,我会使用 XMLRPC 之类的东西,然后您的 GWT 代码将通过 XMLRPC 与您的 Java 代码进行通信,瞧,您可以在此处测试端点,只需在此处插入虚拟数据即可进行开发,即使没有也可以在前端工作数据库或队列系统的存在。这也允许您同时启动两个项目。

所以基本上从插件能力和易于测试的角度来看,由于您计划使用 RabbitMQ,两个独立的项目,如果只有一个项目包含前端和后端,那么就没有/很少需要RabbitMQ 并且对于您启动的每个前端,您都将启动另一个后端,这可能会浪费内存。

于 2013-10-13T16:07:59.760 回答
0

这取决于不同的参数,例如项目的最终规模、团队成员的数量等。

但总的来说,我宁愿在 maven 模块中拆分项目,因为它允许更好的客户端/服务器端分离,它有利于测试,并且当项目中的人员专注于一侧时会更方便。

如果您继续进行此设置,我建议您查看 Tomas Broyer 的原型

[编辑] 知道你是一个 4 人的团队,你将工作 8 个月,我肯定会选择一个多模块的 maven 项目(服务器、共享、客户端)。

于 2013-10-13T11:06:14.243 回答