我们即将开始一个新的项目开发,这基本上是一个后台应用程序。
我们在后端选择了以下技术:
Spring、JPA、mySQL、MongoDB、RabbitMQ..
我们选择使用GWT作为我们的前端框架。
我的问题很简单:
我们应该创建一个同时包含后端和前端的项目吗?
或者:
我们是否应该创建两个单独的项目,一个是纯后端项目,另一个是纯前端项目?
编辑-我们是一个由4个开发人员组成的团队,每个人都应该在端到端的开发中亲自动手。也就是说,团队中的每个人都应该从客户端到服务器对功能进行编码。
发布于 2013-10-13 19:06:14
它取决于不同的参数,比如项目的最终规模、团队成员的数量等。
但总的来说,我更喜欢在maven模块中拆分项目,因为它允许更好的客户端/服务器端分离,它促进了测试,并且当项目中的人员集中在一侧时会更方便。
如果您继续进行此设置,我建议您查看Tomas Broyer的archetypes
编辑知道你是一个4人的团队,你将工作8个月,我肯定会去一个多模块的maven项目(服务器,共享,客户端)。
发布于 2013-10-14 00:08:00
为了简单起见,我会把它分成一个纯前端项目和一个纯后端项目。工作量会稍微多一点,因为您必须在两者之间编写消息传递服务,但从长远来看,您可以将该后端重用于其他前端/服务。
由于您将使用RabbitMQ进行消息传递,因此您最好将它们分开,当负载变得繁重时,您只需插入另一个前端实例,或者当后端开始出现问题时,启动另一个后端,或者当队列出现问题时,启动RabbitMQ的另一个实例。
对于前端项目,我会使用类似XMLRPC的东西,然后您的GWT代码将通过XMLRPC与您的Java代码通信,瞧,您可以在那里测试端点,只需在那里插入虚拟数据进行开发,甚至在没有数据库或队列系统的情况下也可以在前端工作。这还允许您同时启动这两个项目。
因此,基本上从可插入性和测试简易性的角度来看,由于你计划使用RabbitMQ,两个独立的项目,如果只有一个项目同时包含前端和后端,那么就不需要/几乎不需要RabbitMQ,并且对于你要启动的每个前端,你都会启动另一个后端,这可能会浪费内存。
https://stackoverflow.com/questions/19342844
复制相似问题