本书带领专业JavaScript开发人员领略创**应用程序的所有必要步骤,包括:结构、模板、架构,与服务器通信,许多其他问题等。在本书中,你将使用现实示例应用程序帮助你掌握相关的概念。学习如何创建JavaScript应用程序,进而同提供更好的用户体验。本书主要内容包括:使用MVC模式,学习如何在应用程序中管理依赖关系;介绍模板和数据绑定;学习加载远程数据、Ajax和跨越请求;使用WebSocketandNode.js创建实用应用程序;通过进度指示器接受删除的文件和上传数据;使用主要的架构和库,包括jQuery、Spine和Backbone;编写测试和使用控制台调试应用程序;获得部署**实践,例如缓存和缩小尺寸。
作者介绍
Eric Elliott是一名经验丰富的JavaScript应用程序开发者,他曾在Adobe Creative Cloud团队中担任科学家,在Tout公司(一家视频分享网站)担任首席JavaScript工程师,在Zumba Fitness公司(全球领先的健身品牌)担任首席客户端应用架构师,同时他还是一名作家、演讲者、用户体验与营销领域的顾问,他与他的妻子居住在旧金山湾区。
前言
第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编码风格指南