Spring mvc 在MEAN stack和Spring MVC之间进行决策,以构建复杂的网站

Spring mvc 在MEAN stack和Spring MVC之间进行决策,以构建复杂的网站,spring-mvc,mean-stack,Spring Mvc,Mean Stack,我正要开始建立一个网站,它有复杂的数据驱动应用程序和业务逻辑。我希望前端是用户友好的,我听说过很多关于AngularJS(特别是MEAN stack)的好东西,用于构建用户界面,可以是移动的,也可以是传统的网站 我正处于这个决策点:将MEAN stack与MongoDB结合使用,或将Spring MVC与Hibernate/MySQL结合使用。我听说有传言说基于Javascript的框架不适合具有复杂业务逻辑的应用程序。可以看出,我是Javascript/AngularJS的新手,但我读过一本关

我正要开始建立一个网站,它有复杂的数据驱动应用程序和业务逻辑。我希望前端是用户友好的,我听说过很多关于AngularJS(特别是MEAN stack)的好东西,用于构建用户界面,可以是移动的,也可以是传统的网站


我正处于这个决策点:将MEAN stack与MongoDB结合使用,或将Spring MVC与Hibernate/MySQL结合使用。我听说有传言说基于Javascript的框架不适合具有复杂业务逻辑的应用程序。可以看出,我是Javascript/AngularJS的新手,但我读过一本关于AngularJS的好书,并用它编写了一些玩具程序。我在SpringMVC/Hibernate方面的技能相对较好。所以我在征求意见,以帮助我做出决定

如果您确定要使用Angular,那么选择什么后端并不重要。我也不熟悉Node和Mongo,但我喜欢尝试新事物,所以我选择了Node和Mongo。构建Angular应用程序的最佳视角是将其视为任何其他客户端(iOS、Android或其他任何客户端)。您的web服务器公开API并提供静态文件,就是这样。

这里有一个您不能忽视的观点,但从更客观的角度来看,您需要考虑应用程序的需要、您作为web开发人员的经验以及您愿意花多少时间学习

首先,平均堆栈是以JavaScript为中心的。因此,您需要熟悉JavaScript,或者至少要了解更多关于它的工作原理,特别是Node.js的异步特性在开发应用程序时如何发挥作用。也就是说,一旦你了解了这些概念,它就没有那么复杂了,而且在数据库、后端和前端层中使用非常相似的语法非常有吸引力。另一方面,对于SpringMVC,您需要熟悉Java及其特性

其次,你需要考虑你的申请。关于数据库,您需要考虑访问模式和数据结构。您需要交易吗?您更喜欢事先定义模式,还是能够在执行过程中塑造模式?当您在MongoDB和MySQL之间进行选择时,所有这些都会起到重要作用。在决定使用Java和Node.js时,您必须问自己类似的问题


所以我想最好的办法是考虑你的应用程序的需求,并考虑你想如何处理你现在知道的和你想学的东西。然后你可以做出更好的决定。

主要基于意见的问题是针对StackOverflow的。开发人员将选择可以用堆栈构建应用程序,但您确实需要考虑自己的经验以及项目时间表和目标。您有不同编程语言、数据建模库、后端数据库和设计习惯用法的堆栈。学习一个新的堆栈通常不利于为一个复杂的项目提供一个好的估计,但是如果你正在搔痒,那么它可能并不重要。