资源名称:Ember.js实战

内容简介:

Ember.js号称是一个“雄心勃勃”的Javascript MVC框架、现代Javascript MVC框架代表,是构造如单页面应用等现代Web应用程序的新型Web端开发框架。本书深入介绍了这一框架的方方面面。

全书分为三个部分。第一部分为基础内容,共4章,引导读者对Ember.js有个概括性认识,并掌握其基础知识点,此部分包含两个示例程序——注意事项应用程序与博客应用程序;第二部分包括第5章到第8章,涉及Ember.js实战的几个关注点,如Ember Data、自定义组件以及测试;第三部分为第9章到第11章,讨论Ember.js的高级主题,如认证、运行循环和打包部署。

资源目录:

第一部分 Ember.js基础

第1章 发力雄心勃勃的Web应用 2

1.1 Ember.js适用场景 3

1.2 从静态页面到Ajax、再到全功能Web应用 4

1.2.1 异步Web应用的兴起 5

1.2.2 Ember.js模型 6

1.3 Ember.js概览 6

1.3.1 Ember.js特性 7

1.3.2 Ember.js应用程序结构 7

1.4 第一个Ember.js应用程序:记事本应用 9

1.4.1 记事本应用开发起步 11

1.4.2 创建命名空间与路由器 13

1.4.3 定义应用程序路由 14

1.4.4 创建并列出事项 16

1.4.5 选择并查看单条事项 19

1.4.6 删除事项 23

1.5 小结 28

第2章 Ember.js第2章 Ember.js风格 29

2.1 绑定对象 30

2.2 自动更新模板 33

2.3 计算属性 35

2.4 观察者模式 38

2.5 Ember.js对象模型 39

2.6 Ember.js实现各层间数据同步 41

2.7 小结 42

第3章 使用Ember.js路由器融合应用结构 43

3.1 Ember.js实战博客介绍 44

3.2 服务器端模型-视图-控制器模式的困境 46

3.2.1 Ember MVC模式 47

3.2.2 将各层组合起来 48

3.3 Ember路由器:Ember.js的状态图 49

3.4 Ember.js实战博客第一部分:博客索引页 52

3.4.1 创建博客路由器 52

3.4.2 添加视图和模板 55

3.4.3 显示博客文章列表 56

3.5 Ember.js实战博客第二部分:添加博客文章路由 59

3.6 依赖注入与Ember容器 65

3.6.1 使用needs属性连接控制器 65

3.6.2 通过Ember容器连接对象 66

3.7 小结 68

第4章 通过Handlebars.js自动更新模板 69

4.1 模板是什么 69

4.1.1 简单表达式 70

4.1.2 块表达式 71

4.2 内置块表达式 73

4.2.1 if及if-else块表达式 73

4.2.2 {{unless}}块表达式 74

4.2.3 {{with}}块表达式 74

4.2.4 Handlbars.js的注释 75

4.3 结合使用Handlebars.js与Ember.js 75

4.3.1 在index.html中定义模板 76

4.3.2 直接在Ember.TEMPLATES散列中定义模板 77

4.3.3 创建Handlebars.js模板支持的Ember.js视图 77

4.4 Ember.js提供的Handlebars.js表达式 78

4.4.1 {{view}}表达式 79

4.4.2 {{bind-attr}}表达式 80

4.4.3 {{action}}表达式 81

4.4.4 {{outlet}}表达式 83

4.4.5 {{unbound}}表达式 84

4.4.6 {{partial}}表达式 84

4.4.7 {{link-to}}表达式 85

4.4.8 {{render}}表达式 85

4.4.9 {{control}}表达式 86

4.4.10 {{input}}和{{textarea}}表达式 87

4.4.11 {{yield}}表达式 88

4.5 创建自己的表达式 88

4.6 小结 89

第二部分 创建雄心勃勃的真实Web应用

第5章 获取数据:使用Ember Data与服务器端交互 92

5.1 将Ember Data用作应用缓存 93

5.1.1 定义Ember Data模型 93

5.1.2 标识映射的Ember Data 94

5.1.3 模型对象间的关联 96

5.1.4 模型状态和事件 97

5.1.5 与后台通信 99

5.2 初尝Ember Data 100

5.2.1 从模型中获取数据 101

5.2.2 在模型中指定关联关系 101

5.3 Ember Data模型的关联 103

5.3.1 了解Ember Data模型的

关联关系 103

5.3.2 Ember Data端数据加载 106

5.4 自定义适配器和序列化器 108

5.4.1 编写自定义适配器,但保留默认的序列化器 109

5.4.2 编写自定义适配器和序列化器代码 111

5.4.3 自定义URL 113

5.5 小结 113

第6章 绕过Ember Data与服务器端第6章 绕过Ember Data与服务器端交互 115

6.1 Ember Fest介绍 115

6.1.1 了解应用程序的路由器 117

6.1.2 使用model()钩子函数获取数据 117

6.1.3 实现标识映射 118

6.2 获取数据 119

6.2.1 通过find()函数返回指定演讲数据 120

6.2.2 通过findAll()函数获取所有演讲数据 121

6.2.3 实现Emberfest.Talk模型类 121

6.3 数据持久化 124

6.3.1 通过createRecord()函数提交新的演讲 124

6.3.2 通过updateRecord()函数修改演讲数据 127

6.3.3 通过delete()函数删除演讲数据 130

6.4 小结 131

第7章 编写自定义第7章 编写自定义组件 133

7.1 关于Ember自定义组件 134

7.2 实现可选列表 134

7.2.1 定义selectable-list组件 137

7.2.2 selectable-list-item组件 138

7.2.3 delete-modal组件 140

7.2.4 通过已完成的三个组件删除具体项 141

7.3 实现树形菜单 144

7.3.1 树形菜单的数据模型 144

7.3.2 定义tree-menu组件 145

7.3.3 定义tree-menu-item和tree-menu-node组件 145

7.3.4 单选功能支持 147

7.4 小结 150

第8章 测试Ember.js应用第8章 测试Ember.js应用 程序 152

8.1 使用QUnit和PhantomJS进行单元测试 153

8.1.1 Qunit介绍 154

8.1.2 使用PhantomJS在命令行执行测试 156

8.1.3 集成QUnit和PhantomJS 157

8.2 使用QUnit编写简单的Ember.js单元测试 160

8.3 集成测试 164

8.3.1 Sinon介绍 165

8.3.2 添加新告警信息的集成测试 166

8.4 通过Ember.Instrumentation进行性能测试 168

8.5 小结 169

第三部分 高级Ember.js主题

第9章 使用Mozilla Persona进行第9章 使用Mozilla Persona进行认证 172

9.1 集成第三方认证系统 173

9.1.1 首次登录及注册 173

9.1.2 通过第三方认证提供者登录Montric 177

9.2 通过HTTP cookie登录用户 180

9.3 小结 183

第10章 Ember.js运行循环——Backburner.js 185

10.1 什么是运行循环? 186

10.1.1 Ember.js TodoMVC应用程序介绍 186

10.1.2 解释Ember.js运行循环 187

10.2 在运行循环框架下执行代码 191

10.2.1 在当前运行循环中执行代码 191

10.2.2 在下一个运行循环中执行代码 192

10.2.3 在后续运行循环中执行代码 193

10.2.4 在指定队列执行代码 194

10.2.5 通过运行循环执行重复任务 196

10.3 小结 197

第11章 打包与第11章 打包与部署 198

11.1 理解Javascript应用程序打包和装配 199

11.1.1 选择目录结构 199

11.1.2 组织自己编写的源代码 200

11.1.3 组织非Javascript资源 202

11.1.4 Ember.js应用程序装配过程 203

11.2 使用构建工具Grunt.js 204

11.2.1 为Montric应用程序引导Grunt.js构建系统 205

11.2.2 连接Javascript代码 206

11.2.3 抽取插件配置代码到单独文件 208

11.2.4 Lint常见错误 209

11.2.5 预编译Handlebars模板 211

11.2.6 压缩源文件 214

11.2.7 Grunt.js的优缺点 217

11.3 小结 218

资源截图:

Ember.js实战