新書推薦:
《
山西寺观艺术壁画精编卷
》
售價:NT$
7650.0
《
中国摄影 中式摄影的独特魅力
》
售價:NT$
4998.0
《
山西寺观艺术彩塑精编卷
》
售價:NT$
7650.0
《
积极心理学
》
售價:NT$
254.0
《
自由,不是放纵
》
售價:NT$
250.0
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:NT$
1265.0
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
918.0
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:NT$
347.0
|
編輯推薦: |
Meteor是基于JavaScript的框架,用于Web客户端、服务器端以及移动应用。Meteor应用会对数据的变化作出即时响应,因此你将获得几乎不可能的及时响应体验,同时,一致的构建过程、前后端统一的包系统以及单个命令的应用部署过程,将在从设计到发布的每一步上为你节省时间。
Meteor优势:
全栈通用的单一语言
内置响应式支持
高代码重用
提供强大构建工具
|
內容簡介: |
本书秉承实战系列图书的一贯风格,以解决开发者实际问题为出发点,通过Meteor平台构建可扩展的高性能应用。书中详细介绍了如何用Meteor进行全栈开发,涵盖了Meteor栈的所有关键部分,涉及构成Meteor栈的各种组件和概念、响应性应用的基本模块和应用的构建与合理部署等,让读者全面掌握如何充分发挥Meteor在服务器端和可扩展性上的优势。
|
關於作者: |
Stephan Hochhaus
资深Web开发人员,在可扩展的Web解决方案方面具有丰富的经验。精通JavaScript、PHP、C#和Java。
Manuel Schoebel
资深Web开发人员,其技术博客广受开发者欢迎。
两人均是从Meteor诞生之初就一直在工作上运用Meteor。
Stephan Hochhaus
资深Web开发人员,在可扩展的Web解决方案方面具有丰富的经验。精通JavaScript、PHP、C#和Java。
Manuel Schoebel
资深Web开发人员,其技术博客广受开发者欢迎。
两人均是从Meteor诞生之初就一直在工作上运用Meteor。
|
目錄:
|
第一部分 看,一颗流星!
第1章 构建应用程序的更好方式2
1.1 Meteor简介3
1.1.1 Meteor背后的故事3
1.1.2 Meteor栈4
1.1.3 同构框架:全栈式JavaScript5
1.1.4 在浏览器中处理:在分布式平台上运行7
1.1.5 响应式编程8
1.2 Meteor的工作原理10
1.2.1 核心项目11
1.2.2 Isobuild和CLI工具13
1.2.3 客户端代码和服务器端代码14
1.3 优势和劣势15
1.3.1 使用Meteor的好处16
1.3.2 使用Meteor时的挑战17
1.4 创建新的应用程序19
1.4.1 创建新项目19
1.4.2 启动应用20
1.5 剖析默认项目21
1.5.1 helloWorld.css21
1.5.2 helloWorld.html21
1.5.3 helloWorld.js22
1.6 总结24
第2章 我的冰箱:一个响应式游戏25
2.1 应用概述25
2.2 初始设置26
2.3 创建布局27
2.3.1 设置样式27
2.3.2 添加模板29
2.4 向数据库中实时添加内容31
2.4.1 在数据库中存储物品31
2.4.2 将数据连接到模板33
2.4.3 添加一组预定义的物品35
2.5 把物品放进冰箱里36
2.5.1 为项目添加jQuery UI36
2.5.2 为物品定义拖放目标37
2.5.3 允许物品被拖动39
2.6 部署应用到meteor.com并使用它40
2.7 总结40
第二部分 3,2,1撞击!
第3章 模板42
3.1 模板介绍42
3.2 使用模板44
3.2.1 Blaze引擎44
3.2.2 组织模板文件45
3.3 创建动态HTML模板45
3.3.1 双重和三重大括号标签
(表达式)46
3.3.2 包含标签(局部模板)48
3.3.3 块标签50
3.3.4 辅助函数53
3.4 处理事件58
3.4.1 模板的事件映射58
3.4.2 事件传播59
3.4.3 阻止浏览器的默认行为60
3.5 模板生命周期61
3.6 总结63
第4章 数据64
4.1 Meteor的默认数据源66
4.1.1 什么使数据源具有响应性67
4.1.2 如何将响应式数据连接到
函数68
4.2 构建房屋保姆应用69
4.2.1 设置模板71
4.2.2 连接到数据库并声明集合71
4.3 Session对象72
4.3.1 Session对象简介73
4.3.2 使用Session存储选定的
下拉值73
4.3.3 使用Tracker.autorun创建响应性上下文75
4.4 MongoDB集合76
4.4.1 在MongoDB中查询文档77
4.4.2 Meteor的集合78
4.4.3 初始化集合78
4.4.4 查询集合79
4.4.5 在模板中显示集合数据80
4.4.6 在集合中更新数据83
4.4.7 向集合中插入新数据85
4.4.8 从集合中删除数据87
4.5 总结88
第5章 全响应式编辑89
5.1 响应式编辑的工作流程89
5.2 响应式前端与DOM操作90
5.3 在本地集合中进行临时更改94
5.4 在表单中显示集合数据97
5.5 使用本地集合进行响应式更新100
5.5.1 houseForm模板的事件
映射101
5.5.2 plantFieldset模板的事件映射102
5.6 实现一个简单的通知系统105
5.6.1 添加通知模板106
5.6.2 添加状态属性106
5.6.3 使用会话变量触发通知107
5.7 总结109
第6章 用户、认证和权限110
6.1 将用户加入应用111
6.1.1 添加密码认证111
6.1.2 注册和密码重置113
6.1.3 设置邮件117
6.2 使用OAuth认证用户120
6.2.1 OAuth介绍121
6.2.2 整合Facebook认证122
6.2.3 集成其他的OAuth提供者126
6.3 管理用户权限、角色和组127
6.4 总结130
第7章 数据交换131
7.1 发布和订阅132
7.1.1 publish和subscribe133
7.1.2 全局订阅134
7.1.3 模板级订阅135
7.1.4 参数化订阅136
7.1.5 向客户端独有的集合发布汇总数据138
7.1.6 将聚合发布变成响应式
数据源141
7.1.7 通过用户ID限制数据
可见性143
7.2 Meteor的方法145
7.2.1 删除insecure包146
7.2.2 使用方法将数据写入集合147
7.3 总结150
第8章 路由151
8.1 Web应用中的路由151
8.2 客户端路由154
8.2.1 添加Iron.Router155
8.2.2 创建第一个路由155
8.2.3 基于路由定义布局157
8.2.4 根据路由设置数据上下文161
8.2.5 使用Iron.Router订阅
数据163
8.3 高级的路由方法166
8.3.1 使用命名路由和链接辅助
函数166
8.3.2 让活动路由有更好的导航
链接167
8.3.3 等待外部库加载168
8.3.4 将路由组织为控制器169
8.3.5 使用钩子扩展路由过程171
8.3.6 创建Iron.Router插件172
8.4 用于REST API的服务器端路由173
8.5 总结175
第9章 包176
9.1 所有应用的基础176
9.2 使用Isopack177
9.2.1 版本求解器和有语义的
版本号178
9.2.2 查找包179
9.2.3 添加和删除Isopack182
9.2.4 更新包183
9.3 使用npm包183
9.4 创建Isopack184
9.4.1 创建包185
9.4.2 声明包的元数据186
9.4.3 添加包的功能188
9.4.4 使用tinytest测试
Isopack191
9.4.5 发布194
9.5 总结195
第10章 高级服务器方法196
10.1 再次介绍Node.js196
10.1.1 同步代码197
10.1.2 异步代码198
10.2 使用纤维的异步功能200
10.2.1 将多任务引入事件循环200
10.2.2 使用wrapAsync为纤维
绑定回调函数203
10.2.3 为单个客户端解除方法调用
阻塞204
10.2.4 使用bindEnvironment
创建纤维206
10.3 整合外部API207
10.3.1 使用HTTP包进行RESTful调用208
10.3.2 使用同步方法查询API208
10.3.3 使用异步方法调用API209
10.4 将文件上传到集合211
10.5 总结215
第三部分 走出陨石坑
第11章 构建和调试218
11.1 Meteor的构建过程218
11.1.1 构建阶段220
11.1.2 使用--production选项
运行223
11.1.3 加载顺序223
11.1.4 通过包添加构建阶段226
11.1.5 添加自定义构建阶段227
11.2 访问正在运行的应用229
11.2.1 使用交互式服务器外壳229
11.2.2 使用node-inspector
进行调试230
11.3 创建浏览器应用232
11.3.1 使用Meteor.settings
进行应用配置232
11.3.2 构建Meteor项目233
11.4 创建移动应用235
11.4.1 使用Cordova的混合应用235
11.4.2 加入移动平台236
11.4.3 配置移动应用238
11.4.4 添加移动功能240
11.5 总结242
第12章 开始生产243
12.1 准备生产243
12.1.1 使用版本控制243
12.1.2 功能测试:Velocity框架245
12.1.3 估算和测试负载247
12.1.4 服务器管理249
12.1.5 清单250
12.2 安装和部署250
12.2.1 最简单的部署:
meteor.com251
12.2.2 无所不包的主机:云
供应商253
12.2.3 最灵活的方式:手动
设置256
12.3 将各部分连接起来259
12.3.1 环境变量260
12.3.2 Meteor和MongoDB的
连接260
12.4 扩展策略261
12.4.1 使用冗余的主动?被动高
可用性262
12.4.2 单组件部署263
12.4.3 冗余和负载均衡263
12.4.4 绝对可用性265
12.5 总结266
附录A 安装Meteor267
附录B MongoDB剖析271
附录C 设置nginx278
|
內容試閱:
|
2011年,我和Geoff Schmidt、Nick Martin一起开始开发Meteor(流星),这是一个新的JavaScript应用平台。我们的计划是使JavaScript开发者能够在清晰的概念之上有条不紊地创建优秀的Web和移动应用。
JavaScript是一种非凡的技术。它最初是作为浏览器的脚本工具,现在已经成为一种无处不在的编程语言,比如在浏览器、移动设备以及云中。它得到了专家和初学者的青睐,而这是软件行业一个不寻常的组合。但JavaScript的生态系统是高度分散的,那些选择JavaScript的团队必须从无到有地构建和维护整个应用栈,需要在一些低级的技术任务上花费大量的时间,比如设计应用特定的WebSocket消息,而这些工作和他们实际的应用根本没有什么关系。
Meteor为那些希望创建现代化应用的JavaScript开发者提供了一个简单直接的解决方案,而《Meteor实战》则包含了为开始Meteor开发所需要知道的一切。它涵盖了Meteor栈的所有关键部分:从云上发布新的信息到每个在线用户的数据同步系统,在数据发生变化时重绘屏幕的响应式模板、事件和表单,同构的用户账户系统、路由、包和应用安全。
此外,《Meteor实战》涵盖了Meteor应用体系结构的基本知识。Meteor是一个全栈的响应式平台,这意味着它的各个部分从数据库驱动程序到客户端模板引擎再到热码推送一起工作,对数据的变化作出实时响应。Meteor是一种同构平台,也就是说,无论在哪里,你使用的JavaScript API会尽可能相同,比如在浏览器、移动设备以及云中。两位作者在书中通过一些清晰的示例解释了这些原则,并展示了如何在Meteor的开发过程中把它们整合在一起。
从我们发布最早的版本到现在,Stephan和Manuel一直活跃在Meteor社区。他们在无数的电子邮件和论坛主题中为Meteor作出了贡献,现在他们撰写了这本有趣的、让人易于接受的Meteor图书来分享他们的知识。
编码愉快!
Matt DeBergalis
Meteor开发小组创始人
|
|