MEAN中包含:MongoDB、Express、AngularJS 和 Node.js。
它利用这些东西来提供web开发需要的一整套东西。
其中:
MongoDB是一个非关系型数据库
Express是node.js的一个框架,专门用来提供web开发(说白了就是解析http请求并响应http请求的封装)
AngularJS 是前端框架,是MVVM的一种实现(model and view),用来绑定前端控件和数据的。
node.js 在这MEAN中有两个体现,一个是Express,另一个是连接MongoDB。
Node是一个开源,跨平台的用来执行javascript的运行环境。它建立在google的v8引擎上,而v8引擎正是google chrome浏览器的执行引擎,能够快速的将javascript代码转为原生的机器码。
在Node诞生之前,javascript只能在浏览器执行。在2009年,Ryan Dahl使用开源的google v8 javascript引擎来构建node,使它成为一个独立于浏览器之外的javascript运行环境。这使得javascript开发者能够在服务端使用javascript来构建大部分的web apis。
题外话:我觉得有两个技术的普及让web前端的有了较大的发展。一是混合应用的出现,包括移动端的混合应用如phone gap、ionic等框架和PC端的混合应用如hex、酷狗音乐等,这一技术的诞生让前端工作从简单的类似制作ppt一般地展现页面效果的工作升级成了开发应用程序的级别;二是node.js的出现,让js可以运用于服务端开发,让前端工程师能低门槛地转成js全栈,通过node.js开发后端又可以与数据库连接,让js开发人员可以参与到web的前端、后端、数据库整个系统,从而为js工程师提供了一条晋升到web架构师的有利通道,为js工程师插上了一双翅膀。