《全栈开发之道MongoDB+Express+安gularJS+Node.js》
942内容简介:
内容简介
枝( Full Stack)是一种全新的以前端为主导的框架,框架选型聚焦在MEAN( Mongodb、 Expres
安gularis、 Node js)上,选用MEAN全栈技术,可以快速地实现敏捷开发,尤其是到了产品的运营阶段,其
优势表現得非常明显。本书主要介绍MEAN全梭技术,分为入门篇、基础篇和实战篇,入门篇对全機进行了
概述,基础篇重点介绍了全栈的四个主要技术,即 Mongodb、 Express, 安gular] S, Node, js,实战篇则通过
四个常用的实例来引导读者循序渐进地掌擢全栈开发的思路,本书重在讲述全栈开发的思想,自始至终延续
这样的一个主题:如何通过一种框架(MEAN全),将前端和后台(端)贯穿起来,让前端工程师快速上手
本书适合想学前端技术的APP(iOS、 安droid)开发工程师,以及想学习后台技术的前端工程师阅读
未经许可,不得以任何方式复制或抄表本书之部分或全部内容。
版权所有,侵权必究
图书在版编目(CIP)数据
全栈开发之道: Mongodb+ Express+安gularjs+ Node, js/和凌志编著,一北京:电子工业出版社,2017.10
SBN978-7-121-32722-3
.0全m.0和m.0网或制作工具ー程序使计T.om9p2
中guo版本图书馆CIP数据核字(2017)第228608号
责任编辑:田宏峰
印刷:三河市兴达印务有限公
装订:三河市兴达印务有限公司
出版发行:电子工业出版社
北京市海淀区万寿路173信箱邮编:100036
开本:787×9801/16印张:16.75字数:375千字
版次:2017年10月第1版
印次:2017年10月第1次印刷
定价:68.00
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联
系及邮购电话:(010)8254888,8825888
质量投诉请发邮件至zls@phei.com.cn,斉版侵权举报请发郎件至dbq(aphei.com,cn
本书咨询联系方式:tianhe(@phei.com.cn
前言
为何写一本全栈的书
为什么写一本以全栈为主题的书呢?这还得从我的工作经历说起
在过去的十多年,我一直在从事与移动互联网相关的工作,从早期的手机软件开发到今天
的移动应用,都离不开架构的支撑。在智能机出现之前,手机的软件架构群雄并起,各家手机
厂商都在打造自己软件平台,直到iOS、 安droid、 Windows Phone的出现,形成三足鼎立的时
代。在经历了近五年的洗礼之后,进入移动互联网的峰时代。而今,OS、 安droid两大平
台平分天下
开发一款移动互联网产品,从表面上来说,似乎只需要做一个APP,包括iOS和 安droid
APP;其实,如果想让上线的产品运营起来,就没这么简单了。通常,一个活跃度很高的产品
都是一款具有生态系统支撑的平台,它包括 IOS APE、 安droid APP、微 信公众号、PC网 页
强大的后台管理,一个都不能少。如果采用传统的开发技术,打造这样的一款产品,需要组建
支十几人的开发团队,人员一多,沟通的成本可想而知
移动互联网产品的一个最大特点是,一旦产品投放市场得到了用户的认可,其版本送代更
新非常之频繁。无形中,对团队的开发效率提出了更高的要求
无论是iOS还是 安droid,APP原生开发模式的最大弊端是版本的迭代与升级的任务繁重
为了解决这个问题,才引入了 HTMLS的技术。从开发的技术工种来看,分为APP(iOS、 安droid)
工程师、前端工程师、后端工程师。这三个角色中,前端工程师直接面向终端用户,是产品的
“门面”。如果后台选用PHP、Java之类的技术,前端工程师除了网 页的制作之外,其他可做
的非常有限,毕竟前端技术局限于HTML、CSS和 Javascript。因为角色的分工比较发散,以
致开发效率难以提升。为了解决开发效率和运维灵活性的问题,我们希望从前端寻求到一个突
众所周知,前端工程师身怀三大法宝:HTML、CSS和 Javascript。这些前端开发语言既
APP的原生开发语言( Objective-c或 Swift),又与后台的开发语言(常
然 Javascript 1带有“Java”一词,但 Javascript与Java之间的关系如同雷锋与雷峰
塔之间的关系,二者相去甚远。那么,有没有一种框架可以让前端开发人员“通吃”后台呢?
个偶然机会,我接触到了全栈( Full Stack)的概念,并瞬间被它的理念所吸引。这里
说的全,不是传统的LAMP( Linux、 Apache、 MYSQL、PHP),而是一种全新的以前端为
主导的框架,所谓“大前端”、“全端”,就是指以前端为核心的框架。最终,我们把框架选型
聚焦在MEAN( Mongodb、 Express、 安gularis、 Node. js)上。MEAN全栈技术框架所用到
的每个组件( Mongodb、 Express, 安gularjs和 Node. js),都是基于 Javascript开发语言的
原本 Javascript是为网 页设计的语言,但自从有了 Node, js之后, Javascript的春天来了,前端
工程师也可以写后台了。 Node, js让前端开发像子弹一样飞!
开发一个产品之前,我们总会纠结应该选择怎样的技术框架。的确,框架的选型很重要
决定了这个产品未来的走向,技术的选择需要考虑几个主要因素,其中包括自身所掌握
软硬件环境、生产环境的部署、产品上线后的运维等
选用MEAN全栈技术,可以快速地实现敏捷开发,尤其是到了产品的运营阶段,其优势
表现得非常明显。我们知道,今天的任何一款移动互联网产品,都离不开微 信公众号的推
多出彩的产品,在它的微 信公众号内,所展示的是一套完整的业务逻辑,而不是几个简单的
页面。这就是说,一个运营成功的产品,对前端技术的依赖非常之高,更何况APP也可以采
用混合开发模式( Native+HTML5)
全工程师并不是“全能”工程师,它是通过一种全栈的框架,从繁重的技术中解脱了出
来。正所谓:工欲善其事,必先利其器。这里的“器”,就是全栈框架,具体到这本书所推荐
的,就是MEAN全栈框架
践行全栈之路
用了MEAN全栈,它到底能带来什么好处呢?这里,以我们发布的一款产品一一“点时”
为例。“点时”AP是一款轻量级的知识分享平台,以语音分享为主。这样的一款产品,从生
态上讲,该平台包括: IOS APP、 安droid APP、微 信、后台的课程发布与运维管理。传统的做
法是项目开发组分为前端与后台两套人MA,因为进度不一,要么前端等后端,要么后端等前端,
而我们采用的是MEAN全架构,不再区分前端与后台,开发效率得到了明显提升。用了
MEAN全栈框架,它带来的最大好处是减少了前、后端之间的依赖
读者对象
这是一本讲述MEAN全機入门的书,而不是一本从入门到精通的书。MEAN全蕴涵的
组件有多个,每一个组件都可以独立成书。书中的每一个知识点都是为后面章节中的实例铺垫
的,泛泛的基础知识并不在本书讲解范围之内。
本书自始至终延续这样的一个主题:如何通过一种框架(MEAN全機),将前端和后台(端
贯穿起来,让前端工程师快速上手
MEAN全栈技术涉及的技术点很多,它是前端( Front-end)技术向后台( Back-end)的延
伸。只有具备了前端的基础,才能更好地理解全栈架构的思想。如果尚未担触过HTML、CSs
Javascript,那么,有必要“恶补”一些前端的基础知识
具体来说,这本书适宣的读者有
想学前端技术的APP(iOS、 安droid)开发工程师。随着APP多年的发展,APP的优势
和短板ri益明显,原生技术无法解决的问题,需要前端技术(HTML5)来弥补,二者结合相
得益彰,所以混合开发模式越来越受欢迎。如果一个APP开发工程师同时具备了原生与全端
的技能,由“单翼”变成了“双翼”,其技术路线的前景将越来越广
想学习后台技术的前端工程师。传统的互联网开发,分为前端和后台,在职场上也就出现
了前端工程师和后端工程师。借助 Node, js平台和 Express后端框架,前端工程师可以无缝地
延伸到后台技术。
如何阅读本书
既然是全栈技术,其蕴含的知识点无疑有多个方面。为此,本书分为入门篇、基础篇、实
战篇。
这里没有讲述HTML的基础,也没有谈论CSS概念,而是直接切入CSS框架,一款主流
的CSS框架 Bootstrap。在我所经历的互联网项目中, Bootstrap是应用最为广泛的。这里
还讲述了 Javascript特有的编程模式一函数表达式与函数式编程,在 Node, js开发中
Javascript把这些特有的闪光点发挥得淋漓尽致。MEAN全栈中所用到的数据交互格式和存储
格式均为JSON,学习全栈技术,必须掌握JSON的应用
在入门篇中,没有讲述 jquery技术及其AJAX,这是因为,在MEAN全栈中用到的
安gularis前端框架本身就兼具juey和AJAX的功能
基础篇
从这篇开始,我们将正式进入 Node, js的世界。尽管 Node. js功能很强大,但其生态系统
的构建还要借助 Express、 安gularis、 MONGODB及模板引擎
在市面上,我们会看到很多权威指南系列的图书,比如 Node. js权威指南、 安gularis权
威指南、 Mongodb权威指南。这些书对每个专业技能都讲得很透彻,但很少谈及它们之间的
关系。既然 Express A是基于 Node. js之上的后端框架,对初学者来说,我们更希望在 Express
基础之上开发
那么,为何要选用 安gularis呢?在吹响“全端”号角的今天,我们越来越强调前端
框架的重要性。在前端的世界, 安gularis可谓“玉树临风”。在MEAN全栽中,Node
和 Express负责后端处理,而与网 页交互的正是 安gularis。因此,可以想象 安gularis在
关于 安gularis,这里要特别说明一点:本书讲述的 安gularis、示例中所引用的 安gularjs
均为1x版本,具体来说是1.4.6版本。 安gular JS最新版本是2.x。或许读者产生疑问,为何
不用 安gular S最新的2.x版本呢?这是因为,它的2x并不是在原有1.x上的升级,而是一个
全新的版本,两者谈不上兼容之说。业内普遍认为, 安gularjs1lx版本更成熟、应用更广泛
可参考的资料更多。在项目开发时,选择一个成熟的框架,十分重要
把 Mongodb数据库应用到MEAN全栈中,可谓相得益彰。通过 Mongodb,你会对全栈
开发有一个完整的、全新的认知
实战篇
学习一门编程技术,最有效的途径还是实践。对于书中出现的每个知识点,都辅以相关的
代码实例。每个篇章中的实例都不是独立的,而是沿用从易到难的线索
实战篇演示了四个实例,每个实例并不是独立的,从知识衔接上看,是一环扣一环的。通
常,一个完整的应用包括:数据与页面之间的绑定、网络请求、路由的分发、数据库的增删改
查。我曾试着通过一个完整的应用讲述以上知识点,发现越到工程的后期越发臃肿,前后辑
关系太复杂,以至于理解起来颇费周折。最终采取一个折中的方案:借用guo外网站的经典
MEAN全機示例,在原示例的基础之上,对一些不易理解的地方,添加了补充的知识,正所
谓“见招拆招
实战篇中示例,都是基于MEAN全栈的演练,只是側重点有所不同,每个示例均附有完
整的工程源码
本书的源码
在学习本书示例代码时,可以按照书中讲解的步骤,一步一步地手工敲入所有代码,也可
以下载本书的源码,本书所有的源代码都可以从 Github下载
源码下载地址:htps:/ github. comleopardl68 /MEAN- Full-stack
误和支持
我尽最大的努力确保正文和代码没有错误,但随着开发环境版本的变化,错误在所难免。
果读者发现书中的任何错误,如错别字或代码片段无法运行等,希望您能及时反馈给我。您
提交的勘误不仅能帮助自己,还能让其他读者受益
读者可以在下载源码的地方( Github)进行反馈,也可以通过后面的联系方式与笔者
免费下载链接:需要下载诚通的客.户.端才能下载,点客.户.端下载就能下载客.户.端了
http://pan.qqq0.com/file/488067-443554401
页:
[1]