欢迎关注本人的微信公众号“前端小填填”,专注前端技术的基础和项目开发的学习。
在本系列的开篇,我打算讲一下全栈项目开发的优势,以及MEAN项目各个模块的概览。
为什么选择全栈开发?
对于初学者来说,学习一门新的语言和技术的体验总是让人愉快的,也会满足于掌握了一些新的东西并且解决了一些实际问题。在一个小组中采用全栈开发时,你可以更加有效地把握项目全局概念,这也有利于让你了解项目中的不同模块以及它们之间是如何协同工作的。你会对你们的产品中他人的贡献更加清晰,你也就了解了这款产品如何才能成功。并且在一个全栈开发项目中,小组成员之间的角色是可以转换的,后台开发人员也可以开展客户端开发的工作。
如果你只是一个个人开发者,全栈项目开发的优势将更加明显,你可以从零开始自己打造一个产品,而不需要依托于别人的工作,你也将具有更加完善的开发技能来做出更加精致的产品。
为什么选择MEAN全栈开发?
一个MEAN项目将最佳的现代化web技术技术流用于打造强大且灵活的全栈开发。JavaScript不再仅仅是存活在浏览器上的语言,它也被用来进行后台开发和数据库操作。你能在前端后台采用同一种开发语言,这极大地降低了程序员的学习成本,让一个人能做的事情更多。下面将具体介绍MEAN项目中各个模块。
Node.js
Node.js就是MEAN中的那个N,它也是让JS变得强大的后台开发语言的力量之源。甚至可以说,它是整个全栈项目的基石!
Node.js本身并不是一个web服务器,也不仅仅是一种后台开发语言,他有一个内置的HTTP的库,让你能够自己启动一个服务。你在用Node.js开发时,你可以自己去配置你的服务器。一些老式的Paas主机还不能支持node.js,但是现在能够支持node.js的平台已经越来越多。
Express
express就是MEAN中的那个E,Node.js是一个开发平台,却并没有预先说明应该如何变成和搭建,express作为一款web应用框架简化了这一流程。
express能够帮助你快速搭建项目,提供URL作为路由,并且提供session模块支持你的开发中的一些需求,能够用view模块进行HTML的响应。
MongoDB
MongoDB是MEAN中的那个M。这是一款很实用也很流行的非关系型数据库。最大的优势是存取速度快还有可扩展空间,这个是传统的关系型数据库不能比拟的。MongoDB是一个文档型数据库,它的行业的概念依然存在,但是列的概念已经不复存在了。他的键值对的表现形式使得它看起来更像是一条一条的json。更为方便的是,你还可以用js来操作MongoDB,这还是JS程序员的福音啊!express提供很多用于操作MongoDB数据库的中间件,本项目中采用的是mongoose。你可以用它来构建数据模型,并且操作数据。
Angular.js
Angular.js就是MEAN中的那个A。这是一款强大的前端开发框架。具有很多别的开发框架没有的新特性,比如双向数据绑定、依赖注入、指令等。采用 Angular.js来打造一个单页应用真是太方便了。
总的来说呢,整个MEAN项目的技术架构是这样的
下一期我将具体讲述整个项目的技术设计还有express项目搭建。