Web性能实践日志

978-7-115-34790-9
作者: 【加拿大】Stoyan Stefanov
译者: 唐云飞王玉林吴英杰庄婷婷
编辑: 陈冀康

图书目录:

目 录

第 1章 WebPageTest内部原理 1

1.1 函数拦截 2

1.2 代码注入 2

1.3 决定浏览器架构 3

1.4 获取代码 4

1.5 浏览器的发展 4

第 2章 localStorage读取性能 5

2.1 基准测试 6

2.2 这是怎么回事 6

2.3 优化策略 7

2.4 跟进 8

第3章 内联不是万能的 10

3.1 没有浏览器缓存 10

3.2 没有边缘缓存 11

3.3 没有按需加载 12

3.4 浏览器预加载失效 13

3.5 不完美的方案:只在第 一次访问时采用内联方式 13

3.6 总结和建议 14

第4章 加载异步脚本的艺术 16

4.1 Facebook插件JS SDK 16

4.2 设计原则和标准 18

4.3 代码片段 18

4.4 插入脚本的其他方案 20

4.5 终于……  21

4.6 我们遗漏了什么 21

4.7 如果我是代码片段的使用者 22

4.8 离别感言:站在巨人的肩膀上 22

第5章 运营商网络:钻进兔子洞 24

5.1 多样化 24

5.2 延迟 25

5.3 编码变换 25

5.4 这是一座金山 26

5.5 4G也不能拯救我们 26

5.6 我们要去向何方 27

5.7 隧道尽头的光 27

第6章 HTTP并行化 29

6.1 介绍:滚下楼梯 29

6.2 目前**佳实践:绕过HTTP 30

6.3 实验:深入研究HTTP Archive 31

6.4 结果:大量的连续请求序列 32

6.5 推荐:是时候修改协议了 32

第7章 自动化网站性能优化 34

第8章 前端单点故障 36

8.1 Business Insider网站 36

8.2 CNET网站 37

8.3 O’Reilly Radar网站 39

8.4 引起前端单点故障的原因 40

8.5 避免前端单点故障 41

8.6 行动起来 41

第9章 关于YSlow 43

第 10章 高性能原生移动应用 46

10.1 注意你的瀑布流 47

10.2 压缩这些资源 47

10.3 不要重复下载 48

10.4 太多图片会减慢你的速度么 49

10.5 后记 50

第 11章 纯CSS3图片?哼,也许晚点再说吧 51

11.1 挑战 51

11.2 动手写CSS3 52

11.3 跨浏览器效果 52

11.4 基准测试 54

11.4.1 加载成本 55

11.4.2 渲染 55

11.5 达到我们的目标了么 57

11.6 附录:代码目录 57

11.6.1 HTML 57

11.6.2 css 59

第 12章 Android中下载无用背景图片 63

12.1 Android下的问题 63

12.2 无法解决 64

第 13章 网络计时 65

第 14章 我对HTTP的理解/思考 71

14.1 icy 71

14.2 一些细节 71

14.3 演练 71

14.4 待办事项 77

14.5 前进道路 80

14.6 我想要的圣诞礼物 80

第 15章 使用智能缓存避免机器人性能开销 81

第 16章 导航计时API实践 84

16.1 为什么要关心这些 84

16.2 收集导航计时时间戳并将它们转为有用的度量值 85

16.3 使用Google分析作为性能数据仓库 85

16.4 Google分析中的性能报告 86

16.5 限制 86

16.6 **后的思考 87

第 17章 响应时间对业务的影响 88

第 18章 考虑移动界面的性能 91

18.1 电池寿命 91

18.2 延迟 92

18.3 嵌入CSS和JS:**佳实践 92

18.4 内存 94

18.4.1 优化图片 95

18.4.2 权衡CSS的好处 96

18.4.3 GPU的好处及陷阱 96

18.4.4 视口:眼不见,心还是得为它“烦” 97

18.4.5 **小化DOM 97

18.5 UI响应 97

18.6 总结 98

第 19章 别再浪费时间使用Google Analytics的站点速度报告了 99

19.1 问题:Firefox中关于Navigation Timing API的一个bug 99

19.2 解决方案:在Google Analytics中滤除Firefox的时间 100

19.3 好消息:这个bug已在Firefox 9中修复 101

19.4 结语 101

第 20章 超越Web开发者工具:Strace 102

20.1 其他平台怎么办 102

20.2 开始 103

20.3 校正 103

20.4 示例:本地存储 103

20.5 我们才刚触及皮毛 104

第 21章 mod_spdy介绍:Apache HTTP Server的SPDY模块 105

21.1 mod_spdy入门 105

21.2 SPDY和Apache 105

21.3 帮助改进mod_spdy 107

第 22章 CommonJS模块的惰性求值 108

22.1 深入理解Text/JavaScript类型 108

22.2 懒加载 110

22.3 用延迟执行来挽救 110

22.4 在CommonJS模块中创建懒执行 112

第 23章 关于接受建议的建议 114

第 24章 为什么你对性能测试结果的解读可能是错误的(到少你在大公司里工作) 118

24.1 测试方法 119

24.2 测试结果 119

24.3 结论 120

24.4 为什么这个问题如此重要 120

24.5 几个重要的点 120

第 25章 有损图像压缩 122

第 26章 基于Selenium和JavaScript的性能测试 126

26.1 记录数据 127

26.2 收集和分析数据 128

26.3 示例结果 129

26.4 帮助/益处 130

26.5 结束语 130

26.6 致谢 131

第 27章 一个评估网站性能的简单方法 132

27.1 概念 132

27.2 优势 133

27.3 局限 133

27.4 结束语 134

第 28章 超越带宽:UI性能 135

28.1 引言 135

28.2 页面加载后:UI层 136

28.3 UI性能分析工具 136

28.4 CSS压力测试 136

28.5 CSS性能分析器 137

28.6 CSS Lint 137

28.7 DOM Monster 137

28.8 对速度的感知/速度感 138

28.9 花絮 138

28.10 呼吁关注UI性能 139

第 29章 CSS Selector性能改变了(变得更好了) 141

29.1 样式共享(Style Sharing) 142

29.2 规则哈希(Rule Hashes) 142

29.3 父过滤器(Ancestor filters) 142

29.4 快速路径(Fast Path) 143

29.5 还有什么仍然很慢呢 143

第30章 大胆尝试PhantomJS和confess.js 145

30.1 性能概要 145

30.2 应用程序缓存清单(App Cache Manifest) 147

30.3 发展和完善 148

第31章 两次测量一次优化 149

31.1 识别需要优化的页面/部分 150

31.2 识别需要优化的功能 151

31.3 优化 151

第32章 后端问题检测 153

32.1 适当的后端时间该是多少 154

32.2 搞清楚是怎么回事 155

32.3 修复 158

32.4 **后 158

第33章 Web字体性能:@font-face及其他解决方案间的权衡 159

33.1 字体托管服务与自主开发 159

33.1.1 字体托管服务 159

33.1.2 DIY方式 160

33.2 FOUT是什么 160

33.3 移除多余的字体字形 161

33.4 JavaScript字体加载器 162

33.5 Boot.getFont介绍:一种快速、小巧的Web字体加载器 163

33.6 Gentlefonts,启动你的引擎 164

33.7 我的观察 168

33.8 一些想法 168

详情

本书集合了当今顶尖的Web性能专家的一些实用技巧和技术。任何想要有优化用户体验和Web性能的开发者,都可以阅读本书。这本书收录了大量已发表的 web 性能相关的文章。其中包括了许多性能相关的主题,如开源工具、缓存、移动网络和应用、自动化、用户体验优化、HTML5、JavaScript、CSS3、指标、ROI和网络协议。

图书摘要

相关图书

D3 4.x数据可视化实战手册(第2版)
D3 4.x数据可视化实战手册(第2版)
反应式Web应用开发
反应式Web应用开发
全栈工程师Web开发指南
全栈工程师Web开发指南
用户体验可视化指南
用户体验可视化指南
关联数据:万维网上的结构化数据
关联数据:万维网上的结构化数据
Web前端开发精品课 HTML CSS JavaScript基础教程
Web前端开发精品课 HTML CSS JavaScript基础教程

相关文章

相关课程