编辑推荐
适读人群:适合web全栈开发人员,以及创业团队快速开发产品
√Meteor是颠覆式创新典范,彻底避开主流全栈方案各种弊病。
√学习成本更低,数据库开发更便利,代码量更小,用户体验更流畅。
√全部基于JavaScript,新团队组建和内部沟通协作变得异常单纯、简便。
√Meteor非常适于追求快速迭代的初创团队,部署简单,可自动完成编译打包。
内容简介
《Meteor全栈开发》全面介绍了新一代全栈开发平台Meteor。书中首先简要介绍了Meteor的概念和特性,然后通过各种示例讲解Meteor的用法,再用案例实践的方式综合运用所讲过的内容,加深对Meteor的理解,接着展示Meteor应用如何部署到生产环境中,最后探讨一些Meteor应用架构扩展的进阶话题。《Meteor全栈开发》面向对JavaScript全栈开发感兴趣的读者,可供希望快速进行产品开发和想尝试新技术的开发者参考。
作者简介
杜亦舒,架构师,10年技术经验,先后在中国数码科技集团、友友云计算、国泰金安金融公司从事研发与架构设计工作。曾经获得过3项技术专利,目前在艰苦创业中。热爱互联网,喜欢研究各种Web技术,拥有丰富的实践经验,喜欢分享自己的技术心得。创业过程中在寻求高效的产品开发方法时,发现并喜欢上了Meteor;经过不断实践,对其技术理念非常认同,对其发展前景非常看好。目录
第1章 Meteor简介1
1.1 Meteor是什么1
1.2 Meteor快速起步2
1.2.1 创建新应用2
1.2.2 与LAMP对比开发过程3
1.3 Meteor的工作原理4
1.3.1 工作流程4
1.3.2 核心技术6
1.4 Meteor为什么快8
1.5 优势与不足10
1.5.1 优势10
1.5.2 弱势11
1.5.3 关于质疑12
1.6 本章小结13
第2章 快速入门14
2.1 安装环境14
2.2 默认项目分析15
2.3 资源推荐19
2.4 本章小结23
第3章 模板系统24
3.1 模板介绍24
3.2 模板的核心用法26
3.2.1 基础标签26
3.2.2 模板的定义28
3.2.3 模板引用与嵌套28
3.2.4 流程控制指令31
3.3 helper34
3.4 事件处理38
3.5 生命周期42
3.6 引用第三方JavaScript库43
3.7 小插件推荐―Bert47
3.8 本章小结52
第4章 数据库53
4.1 体验Meteor与数据库的沟通53
4.2 认识MongoDB57
4.2.1 MongoDB概述57
4.2.2 MongoDB操作示例59
4.3 Meteor数据库操作61
4.3.1 Meteor连接MongoDB61
4.3.2 Meteor操作MongoDB的方法62
4.3.3 聚合73
4.4 本章小结85
第5章 路由Iron.Router86
5.1 路由介绍86
5.2 客户端路由88
5.2.1 体验Iron.Router88
5.2.2 布局模板.92
5.2.3 路由中的数据操作94
5.2.4 routerhook99
5.2.5 控制器100
5.2.6 获取当前路由103
5.3 服务器端路由105
5.3.1 创建服务器端路由105
5.3.2 RestfulRoutes107
5.3.3 HTTP请求109
5.4 本章小结118
第6章 用户系统119
6.1 用户系统介绍119
6.2 添加用户系统121
6.2.1 基础用户系统121
6.2.2 在独立页面中注册登录125
6.3 用户系统的配置129
6.3.1 文字国际化129
6.3.2 配置注册信息项131
6.4 第三方登录集成135
6.4.1 QQ登录135
6.4.2 微博登录139
6.5 本章小结142
第7章 发布订阅与methods143
7.1 数据的发布订阅143
7.1.1 发布订阅介绍143
7.1.2 体验发布订阅146
7.1.3 模板helper订阅151
7.1.4 参数订阅152
7.1.5 路由订阅155
7.1.6 发布多集合的关联数据159
7.1.7 示例:一个简单的搜索164
7.2 methods172
7.2.1 methods介绍172
7.2.2 methods定义与调用173
7.2.3 参数验证176
7.2.4 Collection2schema验证180
7.3 本章小结185
第8章 项目实践―在线书签186
8.1 功能分析186
8.2 构建单页应用187
8.2.1 创建项目187
8.2.2 书签列表188
8.2.3 添加书签192
8.2.4 删除书签195
8.2.5 修改书签196
8.3 添加路由200
8.4 添加用户系统205
8.5 代码完善211
8.5.1 发布订阅改造211
8.5.2 methods改造213
8.6 本章小结215
第9章 测试与调试217
9.1 测试217
9.1.1 概述217
9.1.2 mocha入门221
9.1.3 Meteor单元测试详解228
9.2 调试234
9.2.1 meteorshell234
9.2.2 meteordebug235
9.2.3 浏览器debugger236
9.3 本章小结238
第10章 部署239
10.1 自动部署239
10.2 手动部署244
10.3 本章小结248
第11章 架构扩展249
11.1 架构思路249
11.2 Nginx负载均衡253
11.3 MongoDB复制集256
11.4 Redis缓存259
11.5 云服务架构260
11.6 本章小结262
前言/序言
?这《Meteor全栈开发》讲了什么
《Meteor全栈开发》是一本Meteor的入门实践教程。Meteor是新一代的JavaScript(JS)全栈开发平台,基于Node.js,但并不要求读者必须已经熟悉Node.js。《Meteor全栈开发》的目标是使读者阅读《Meteor全栈开发》,能够理解Meteor不一样的技术思路,学会使用Meteor进行快速的Web开发,以及掌握对Meteor进行架构扩展的思路。
《Meteor全栈开发》一共有11章,分别从入门介绍、功能讲解、项目实践、进阶拓展这4个方面对Meteor进行了阐述。
第1章和第2章为入门介绍,讲解了Meteor具体是什么,它的工作原理,以及Meteor的优势和不足。通过这两章的学习可使读者快速地建立起对Meteor的初步印象,然后详细讲解了Meteor的安装方法,读者从中可以体会到Meteor的快速与便捷。
通过前两章的入门介绍,读者已经大体认识了Meteor,知道了它的特性,但头脑中还是会有很多问题,例如Meteor的开发方式有什么不同呢?Meteor的快速开发体现在哪些方面呢?……通过后面的深入讲解,这些问题就会逐渐被弄明白。第3章到第7章为功能讲解部分,将Meteor的知识结构拆分成几大块,逐一讲解模板的应用、MongoDB数据库的操作方式、路由控制、用户系统的集成配置、与数据库沟通方式的优化和安全升级,并带有丰富的示例。通过这些功能的讲解与示例实践,读者已经达到可以开始实际应用Meteor进行开发的程度。
经过对Meteor功能模块的讲解与实践,下面便进入项目实践部分。第8章会以一个完整的项目为例,从头进行开发,综合运用前面讲解的各部分功能,从整体上IVMeteor全栈开发体会Meteor应用开发的全过程。
进阶拓展部分包括第9章到第11章,从功能开发阶段过渡到了产品上线阶段,分别讲解了Meteor应用中如何进行测试、如何把Meteor应用部署到线上产品环境,以及对Meteor应用在架构上进行扩展的方式,为应用的质量和应用的性能做好控制和准备。
如何阅读《Meteor全栈开发》
Meteor是JavaScript的全栈开发平台,所以阅读《Meteor全栈开发》的基础要求是熟悉HTMLCSSJavaScript,但并不要求很深的熟悉程度。如果读者对这些基础知识不太熟悉,可以到网站上花费一点时间学习一下,只需要掌握基础知识即可开始学习Meteor。Meteor是基于Node.js的,不熟悉Node.js也完全没有影响;但如果了解Node.js的话,会有助于更好地理解Meteor的机制。
《Meteor全栈开发》的风格偏于实践,从第1章就开始了动手实践,第2章介绍了环境搭建和项目创建的方式,并推荐了Meteor开发所需要的工具和资料,后面的章节中都包含了大量的示例代码。所以,强烈建议跟随书中的实践步骤和代码进行亲自操作。因为实践是学习新技术的最好方式,实践可以让我们快速掌握对新技术的应用,也可以加深对技术特性和理念的理解。在实践过程中会遇到各种问题,对问题的思考和解决过程就是非常好的学习过程。
《Meteor全栈开发》的优势
轻松入门。《Meteor全栈开发》以Meteor的发展历史、核心优势为切入点,详细讲解了Meteor的优势与不足、工作原理、功能开发、进阶技术等,内容由浅入深,便于快速入门。
上手容易。《Meteor全栈开发》的各个章节都集合了丰富的实例,尽可能地结合实际开发中常用的场景,让读者快速上手。在讲解完Meteor的各个局部知识后,特意安排了一个实践项目,综合运用了各部分知识,便于读者巩固前面所学到的内容。
架构扩展。《Meteor全栈开发》的最后一章单独讨论了Meteor应用的架构扩展,结合Meteor应用的特性,给出相应的架构扩展建议,为实际Meteor项目的壮大做好准备。