资源名称:大型Ja vaSc ript应用最佳实践指南(带目录)
内容简介:
《大型Javascript应用最佳实践指南》以介绍扩展Javascript 的特殊性,及影响其可扩展性的因素作为开头,逐步深入地介绍了组件的复合与通信、寻址与导航、用户偏好与默认设置、加载时间和响应速度、可移植性和测试、缩小规模、错误处理等大型Javascript 应用中的实践经验。《大型Javascript应用最佳实践指南》将教会你如何在真实项目中扩展Javascript 应用,设计出灵活的架构。书中的每个主题都涵盖了实践指导,帮助你将知识运用到实际项目中。
资源目录:
1 扩展 应用
影响扩展的因素
对可扩展的需要
不断增长的用户
添加新功能
雇佣*多的开发者
架构角度
浏览器是一个独特的环境
组件设计
组件通信
加载时间
响应性
可寻址性
可配置性
架构性取舍
确定不可变内容
从开发的便捷性考虑性能
性能的可配置性
从可替换性考虑性能
可寻址性的开发便捷性
性能的可维护性
减少功能以提高可维护性
利用框架
框架与类库
一致地实现模式
内建的性能
利用社区智慧
框架并非天生支持扩展
小结
2 可扩展性的影响因素
扩展用户
许可证费用
订阅费用
消耗费用
广告支持
开源
与用户沟通
支持机制
反馈机制
提示用户
用户维度
扩展用户示例
扩展功能
应用价值
“杀手级”功能与“杀死”应用的功能
数据驱动的功能
与竞品比较
修改已有的功能
支持用户分组和角色
增加新服务
扩展功能示例
开发的可扩展性
寻找开发资源
开发职责
资源过多
扩展开发示例
影响因素检查表
用户检查清单
功能清单
开发者清单
小结
3 组件组合
通用组件
模块
路由器
模型/集合
控制器/视图
模板
应用特定的组件
扩展通用组件
识别公用数据、功能
扩展路由器组件
扩展模型/集合
扩展控制器/视图
将功能映射到组件
通用功能
特定功能
解构组件
维护和调试组件
重构复杂组件
可插拔的业务逻辑
扩展与配置
无状态的业务逻辑
组织组件代码
小结
4 组件的通信与职责
通信模型
消息传递模型
事件模型
通信数据结构
命名约定
数据格式
公共数据
可追踪的组件通信
订阅事件
全局事件日志
事件的生命周期
通信的开销
事件的频率
回调函数执行时间
事件复杂度
通信责任区
后端API
Web Socket 用于*新状态
DOM *新
松耦合的通信
替换组件
应对意外事件
组件分层
事件流向
开发者的职责
构建代码思维导图
小结
5 寻址和导航
实现路由的方法
Hash URI
传统URI
路由是如何工作的
路由的职责
路由事件
URI 的结构和模式
编码信息
设计URI
将资源映射到URI
手动创建URI
自动生成资源
触发路由
用户行为
重定向用户
路由配置
静态路由声明
注册事件
禁用路由
故障排查
路由器冲突
记录初始配置
记录路由事件
处理非法资源的状态
小结
6 用户偏好和默认设置
偏好类型
地区
行为
外观
支持地区
决定支持哪些地区
维护地区
设置地区
选择地区
存储地区偏好
URI中的地区
通用组件配置
选择配置的值
存储和硬编码默认值
对后端的影响
加载配置值
配置行为
启用和禁用组件
改变数量
改变顺序
配置通知
行内选项
改变外观
主题工具
选择一个主题
单独的样式偏好
性能影响
可配置地区的性能
可配置行为的性能
可配置主题的性能
小结
7 加载时间和响应速度
组件构件
组件依赖
构建组件
加载组件
加载模块
懒惰的模块加载
模块加载的延迟
通信瓶颈
减少间接引用
分析代码
组件优化
维护状态的组件
处理副作用
DOM渲染技术
API数据
加载延迟
处理大数据集
优化运行时组件
小结
8 可移植性和测试
与后端解耦
模拟后端API
前端入口
模拟工具
生成模拟数据集
执行操作
功能设计过程
设计API
实现模拟数据
实现功能
协调模拟数据与真实数据
单元测试工具
框架自带的工具
独立的单元测试工具
工具链和自动化
测试模拟场景
模拟API和测试固件
场景生成工具
端到端测试和持续集成
小结
9 缩小规模
扩展限制
文件体积
网络带宽
内存消耗
CPU 消耗
后端能力
互相矛盾的功能
重叠的功能
冗余的功能
用户需求
设计失效
多余的组件
低效的数据处理
过度创建标记
应用组合
功能的启动
新功能的影响
重要的库
小结
10 处理错误
快速失效
使用质量约束
提供有意义的反馈
当无法快速失效时
容错
区分关键行为
探测和控制错误行为
禁用出错组件
优雅地降级功能
故障恢复
重试失败操作
重启组件
用户手动干涉
当我们无法从故障中恢复
性能和复杂度
异常处理
状态检查
通知其他组件
记录日志和调试
有意义的错误日志
为潜在故障发出警告
通知和指导用户
改进架构
记录错误场景
改进组件分类
复杂导致出错
小结
资源截图:
暂停服务!