学习全栈开发,为何选择MEAN框架?(上)

开发一个功能性的网站并不容易,它要借助很多种技术,需要一套组合拳,单纯的某一项技术是不够的。这就是我们为什么要选择全栈技术的原因所在。


在描述网站构建时,常听到一个词语,这就是“技术栈”。比如说:Linux、Apache、MySQL和PHP,把它们的首字母组合在一起,被称为LAMP栈。MongoDB的工程师Valeri Karpov发明了一个缩略语MEAN,指的是:MongoDB、Express、AngularJS和Node.js。

的确,M-E-A-N 是一个很不错的技术组合,而且读上去朗朗上口。MEAN全栈(MEAN full stack)框架日益成熟,在网上可以找到大量的MEAN stack示例。

如果想开发一个功能性网站,MEAN全栈技术框架是一个不错的选择,但它不是唯一的选择。就拿数据库来说,即便是基于Node.js开发,也不是非选MongoDB不可,用其他关系型数据库(比如:MySQL)也是可以的;同样,作为前端框架的选择,也不见得必须用AngularJS,用Vue.js也是可以的。这就是说,MEAN全栈无法体现Node.js生态系统的多样性。

在MEAN这个缩略词中,毋庸置疑,其中无可替代的组件当然是Node.js了。作为运行JavaScript语言的服务端,Node.js是其中的执牛耳者,尽管也有类似的服务端,但与Node.js比起来,难以望其项背。

起初,JavaScript语言仅仅是为了编写网页,很难有其他的用武之地。自从有了Node.js,JavaScript的春天来了。通过JavaScript这一项技术,把MEAN全栈技术贯穿在一起。

夸张一点说,学习MEAN全栈技术,只需要掌握一门JavaScript语言就够了。

学习全栈开发,为何选择MEAN框架?(上)_第1张图片
MEAN 全栈开发

什么时候用Node.js?

Node.js是专门为I/O密集型操作和快速构建可扩展性的实时网络应用而设计的,比如说,一些网游、聊天系统等。通过Node.js,你可以用最少的系统资源来服务大量的客户端,Node.js就是为高扩展性而设计的。

对于搭建类似于MongoDB的文档数据库的API服务器,Node.js也是一个不错的选择。可以将文档数据以JSON对象的格式存储在MongoDB中,然后通过RESTful API来操作它们。当从数据库读写数据时,不需要将JSON与其它类型的数据进行转换。

关于Node.js 更多的知识,下篇接着分享!

参考书: 《 全栈开发之道:MongoDB+Express+AngularJS+Node.js 》


更多全栈技术,请关注微信公众号: “全栈工程师的早读课”,每天早8:00 准时推送技术文章。

你可能感兴趣的:(学习全栈开发,为何选择MEAN框架?(上))