资源名称:Learning Typescript中文版

内容简介:

《Learning Typescript中文版》首先介绍了Typescript 的基本语法和基本的自动化工作流配置方法,然后从面向对象入手,着重介绍了面向对象的概念和它的一些最佳实践,并结合例子讲解了如何基于Typescript 的类型系统应用这些最佳实践。随后剖析了Typescript 在编译后的运行时行为,并从性能与测试的角度讲解了如何编写健壮的Typescript 代码,所以书中还包括了性能分析与测试相关的内容。最后介绍了如何使用Typescript 结合面向对象、MVC 等概念,并配合本书前面提到的自动化的工作流、面向对象最佳实践、性能优化和测试等内容实现一个单页应用(SPA)框架,并用这个框架构建了一个单页应用。

《Learning Typescript中文版》适合使用Typescript 来构建大型Web 应用的开发人员。

资源目录:

前言 XVIII

1 Typescript 简介 1

Typescript 的架构 1

设计目标 1

Typescript 组件 3

Typescript 语言特性 4

类型 6

变量、基本类型和运算符 7

流程控制语句 14

函数 18

类 20

接口 22

命名空间 22

综合运用 23

小结 25

2 自动化工作流程 26

一个现代化的开发工作流程 26

准备工作 27

Node.js 27

Atom 27

Git 和GitHub 30

版本控制工具 30

包管理工具 34

npm 35

Bower 38

tsd 38

自动化任务工具 39

检查Typescript 代码的质量 41

编译Typescript 代码 42

优化Typescript 应用 44

管理Gulp 任务的执行顺序 48

自动化测试工具 50

使跨设备测试同步 52

持续集成工具 55

脚手架工具 56

小结 58

3 使用函数 59

在Typescript 中使用函数 60

函数声明和函数表达式 60

函数类型 61

有可选参数的函数 62

有默认参数的函数 63

有剩余参数的函数 64

函数重载 66

特定重载签名 67

函数作用域 68

立即调用函数 71

范型 74

tag 函数和标签模板 77

Typescript 中的异步编程 78

回调和高阶函数 79

箭头函数 79

回调地狱 81

promise 86

生成器 91

异步函数——async 和await 93

小结 93

4 Typescript 中的面向对象编程 94

SOLID 原则 95

类 95

接口 99

关联、聚合和组合 100

关联 100

聚合 100

组合 100

继承 101

混合 104

范型类 109

范型约束 113

在范型约束中使用多重类型 117

范型中的 new 操作 118

遵循SOLID 原则 118

里氏替换原则 118

接口隔离原则 120

依赖反转原则 122

命名空间 122

模块 124

ES6 模块——运行时与程序设计时 126

外部模块语法——仅在程序设计阶段可用 127

AMD 模块定义语法——仅在运行时使用 128

CommonJS 模块定义语法——仅在运行时使用 129

UMD 模块定义语法——仅在运行时使用 130

SystemJS 模块定义——仅在运行时使用 131

循环依赖 131

小结 133

5 运行时 134

环境 135

运行时的一些概念 135

帧 136

栈 137

队列 137

堆 137

事件循环 137

this 操作符 138

全局上下文中的this 操作符 139

函数上下文中的this 操作符 139

call、apply 和bind 方法 140

原型 143

实例属性与类属性的对比 144

基于原型的继承 147

原型链 151

访问对象的原型 152

new 操作符 153

闭包 153

闭包和静态变量 155

闭包和私有成员 157

小结 159

6 应用性能 160

准备工作 160

性能和资源 161

性能指标 162

可用性 162

响应时间 162

处理速度 162

延迟 162

带宽 163

可伸缩性 163

性能分析 163

网络性能分析 163

网络性能与用户体验 168

GPU 性能分析 172

CPU 性能分析 174

内存性能分析 176

垃圾回收器 178

性能自动化 178

性能优化自动化 178

性能监测自动化 179

性能测试自动化 180

错误处理 180

Error 类 181

try…catch 语句和 throw 语句 182

小结 182

7 应用测试 183

软件测试术语表 183

断言 184

测试规范 185

测试用例 185

测试套件 185

测试监视 185

替身 185

测试桩 185

模拟 185

测试覆盖率 186

必要的准备 186

Gulp 187

Karma 187

Istanbul 187

Mocha 187

Chai 188

Sinon.JS 188

类型定义 188

PhantomJS 189

Selenium 和 Nightwatch.js 189

测试计划和方法 190

测试驱动开发 190

行为驱动测试 191

测试计划和测试类型 191

建立测试基础结构 192

使用Gulp 构建这个程序 193

使用Karma 运行单元测试 197

使用Selenium 和Nightwatch.js 运行E2E 测试 200

使用Mocha 和Chai 创建测试断言、规范和套件 203

测试异步代码 207

断言异常 208

Mocha 和Chai 的TDD 与BDD 对比 209

使用Sinon.JS 编写测试监视和测试桩 209

测试监视 213

测试桩 215

使用Nightwatch.js 创建端对端测试 216

生成测试覆盖率报告 217

小结 220

8 装饰器 221

条件准备 221

注解和装饰器 222

类装饰器 223

方法装饰器 226

属性装饰器 228

参数装饰器 230

装饰器工厂 232

带有参数的装饰器 234

反射元数据 API 235

小结 239

9 应用架构 240

单页应用架构 241

MV* 架构 246

MV* 框架中的组件和功能 247

model 247

collection 248

item view 248

collection view 249

controller 250

事件 251

路由和 hash (#) 导航 251

中介器 254

调度器 255

客户端渲染和 Virtual DOM 256

用户界面数据绑定 256

数据流 258

Web component 和 shadow DOM 259

选择一个程序框架 260

从零开始实现一个MVC 框架 261

准备工作 262

程序事件 264

中介器 265

程序组件 268

路由表 270

事件发射 271

路由 272

调度器 275

controller 279

model 和model settings 280

view 和view settings 283

框架 287

小结 288

10 汇总 289

准备工作 289

程序依赖 290

程序中的数据 291

程序架构 292

程序文件结构 293

配置自动构建流程 294

程序布局 297

实现根组件 298

实现market controller 299

实现NASDAQ model 302

实现NYSE model 303

实现market view 304

实现market 模板 306

实现symbol controller 308

实现quote model 309

实现symbol view 311

实现chart model 313

实现chart view 316

测试应用 318

准备发布程序 319

小结 320

资源截图:

Learning Typesc ript中文版