《JavaScript应用程序设计(使用Node\\HTML5和现代JavaScript类库打造稳健的web应用)》从JavaScript独有的语言特性开始,作者利奥特以灵活、简洁、优雅为中心思想,一路向我们介绍了构建一款完整JavaScript应用所需的方方面面。要确保JavaScript应用既稳健又具伸缩性,开发者除了掌握JavaScript本身的语言特性,还需要对软件工程中的API设计、关注点分离、异步编程、单元测试等重要的概念做深入的了解,除此以外在项目开发中采用良好且一致的编码风格也是降低应用后期维护成本的有效手段,所有这些在本书中均有囊括。无论你是PC/移动端的WebApp开发者,还是仅对JavaScript这门语言所独有的特性感到好奇的入门者,这本书都不会让你失望。
如何利用JavaScript语言的强大特性来构建易于扩展与维护的企业级JavaScript应用,这是很多人都在考虑的问题。对于有经验的javaScript开发者来说,在实际项目中遵循《JavaScript应用程序设计(使用Node\\HTML5和现代JavaScript类库打造稳健的web应用)》中介绍的设计模式,会让编码变得更加灵活且富有伸缩性。
JavaScript恐怕是现今世界上最为流行的Web开发语言,但在实际应用中,程序源码的不断修改往往会使得JavaScript应用变得易碎且不稳定。在本书中,Eric Elliott(利奥特)向我们展示了在大型JavaScript应用中,如何安全而有效地为客户端与服务端添加特性。
前言
第1章 JavaScript的革命时代
JavaScript的特性
性能
对象
语法
函数是一等公民
事件
复用性
结论
解构现代JavaScript应用
基础架构
JSON ——数据存储与通信
NoSQL数据库
RESTful JSON Web Services
第2章 函数
减少隐式副作用
函数声明
lambdas
立即执行函数表达式
方法上下文
函数作用域
变量提升
闭包
方法API的设计
参数命名
多态函数
范型编程与集合多态
链式调用与流式API
函数式编程
无状态函数(纯函数)
偏函数应用与函数加里化
异步操作
回调函数
Promises与Deferreds
小结
第3章 对象
过时的类继承
流式JavaScript
原型
原型代理
原型克隆
享元模式
创建对象
工厂函数
使用Stamps进行原型继承
小结
第4章 模块
模块化编程原则
接口
模块模式
AMD规范
加载器插件
CommonJS模块规范
npm包管理器
ES6模块规范
基于CommonJS、npm、Grunt与Browserify构建客户端应用
定义应用
特性实现
构建与部署
小结
第5章 关注点分离
客户端的关注点
模块管理
模型-视图-控制器
表现层与Dom操作
服务端关注点
Node与Express入门
在Node中组织代码
小结
第6章 访问控制
身份验证
密码认证
Credential类库
多因素身份验证
联合认证与授权认证
应用功能授权
应用授权
OAuth 2.0协议
小结
第7章 日志
调试
服务端数据监控
安全/入侵检测
审计
业务指标分析
传播力度
日志清单
应用请求日志
异常日志
日志输出示例
日志预警
跟踪业务指标(效果跟踪)
性能分析与优化
客户端事件记录
日志数据挖掘
小结
第8章 构建RESTful API
可用性
专一性
一致性
自描述的超媒体
功能可见性
超媒体即应用状态引擎
HTML:一种特别的API媒介类型
Jade
Jiron
响应式API
性能优化
小结
第9章 特性开关
组织特性
特性的规模
特性编组
特性的生命周期
开发阶段
预发布阶段
灰度测试
正式发布
默认激活
完整集成
客户端实现
小结
第10章 应用工程国际化
小结
附录A JavaScript编码风格指南