我很好奇我们选择MongoDB,Node.js,Express.js和AngularJS的根本原因?
以下是我能想到的原因: MongoDB适用于JSON和数据模型,比SQL快; Express和Angular在Javascript中为堆栈提供了一种语言; Node.js是非阻塞的,基于事件的,并且支持并发性; Angular是一个很棒的前端框架。
还有其他原因吗?另外,您如何解决对服务器端Javascript有天生蔑视的人?
谢谢!
答案 0 :(得分:4)
嗯,人们想要在很长一段时间内替换 LAMP 堆栈( Linux,Apache,MySQL和PHP / Python / Perl )。当JavaScript可以在服务器端运行时,即NodeJS,它为完整的开发堆栈(即MEAN堆栈)铺平了道路。
堆栈的第一个优势是整个应用程序中的单一语言 - JavaScript 。这使得具有JS知识的人更容易创建完整的工作应用程序。这也为前端开发人员提供了更多探索服务器端编程如何工作的方法。
一些创业公司和组织认为使用一种语言的堆栈可以帮助他们限制资源。并且在开发人员之间轻松地分配工作。
即使MEAN堆栈是传统LAMP堆栈的一个很棒的替代品,它仍然处于早期阶段。只有少数雄心勃勃的初创公司才采用它,但大型组织却不采用。他们仍然坚持传统技术。 MEAN堆栈的组件Angular,Express和Node仍处于童年阶段。在全尺寸解决方案上没有经过验证和完全使用MEAN堆栈。
像沃尔玛等组织使用 Hapi.js 并成功使用它,诱使其他组织继续推进它,但也让他们持怀疑态度使用它,因为更换现有技术将是一个更大的麻烦。
此外,由于许多现有员工都接受过Java,Python等方面的培训,因此JavaScript开发人员很少,而JS几乎被认为是Java开发人员等人所熟知的另一种语言。 JS并没有单独被认为是单一语言。
也许几年后,MEAN堆栈将证明自己是传统堆栈的一个值得注意的替代品。
我在零售域和一个大型组织工作。我们实际上计划在内部项目中使用MEAN堆栈。但是没有人简单地想过在PROD中使用MEAN堆栈。
编辑:这些堆栈诱人的另一个重要原因是因为它们都是开源的。以MongoDB为例。每年拥有软件许可证对于使用DB SQL等组织的利润来说是一个巨大的打击。使用开源数据库是一个非常具有成本效益的选择。但他们仍然对将其用于生产持怀疑态度。