出版社: 电子工业出版社
副标题: Web开发者性能优化最佳实践
译者: 口碑网前端团队
出版年: 2015-5-1
页数: 256
定价: 65.00元
装帧: 平装
ISBN: 9787121258862
内容简介 · · · · · ·
《高性能网站建设进阶指南:Web开发者性能优化最佳实践》是《高性能网站建设指南》姊妹篇。作者Steve Souders是前Google Web性能布道者和前Yahoo!首席性能工程师。在《高性能网站建设进阶指南:Web开发者性能优化最佳实践》中Souders与8位专家分享了提升网站性能的最佳实践和实用建议,主要包括:理解Ajax性能,编写高效的JavaScript,创建快速响应的应用程序和无阻塞加载脚本,跨域共享资源,无损压缩图片大小,使用块编码加快网页渲染,避免或取代iframe的方法,简化CSS选择符,以及其他技术。
高性能网站建设进阶指南(第二版)的创作者
· · · · · ·
作者简介 · · · · · ·
Steve Souders现在Google工作,负责Web性能和开源组织。他是Firebug的性能分析扩展YSlow的创建者,也是O’Reilly Web性能与运作会议Velocity的联合主席。Steve经常在技术会议和诸如Microsoft、Amazon、MySpace、
LinkedIn和Facebook这样的知名高科技公司发表演讲。
特约作者:
Dion Almaer, Douglas Crockford,
Ben Galbraith, Tony Gentilcore,
Dylan Schiemann, Stoyan
Stefanov, Nicole Sullivan, and
Nicholas C. Zakas
目录 · · · · · ·
前言 xv
第1章 理解Ajax性能 1
权衡 1
优化原则 2
Ajax 4
浏览器 4
哇! 5
JavaScript 6
总结 6
第2章 创建快速响应的Web应用 7
怎样才算足够快 9
测量延迟时间 10
当延迟变得很严重时 12
线程处理 12
确保响应速度 13
Web Workers 14
Gears 14
定时器 16
内存使用对响应时间的影响 17
虚拟内存 18
内存问题的疑难解答 18
总结 19
第3章 拆分初始化负载 21
全部加载 21
通过拆分来节省下载量 22
寻找拆分 23
未定义标识符和竞争状态 24
个案研究:Google日历 25
第4章 无阻塞加载脚本 27
脚本阻塞并行下载 27
让脚本运行得更好 29
XHR Eval 29
XHR注入 31
Script in Iframe 31
Script DOM Element 32
Script Defer 33
document.write Script Tag 33
浏览器忙指示器 33
确保(或避免)按顺序执行 35
汇总结果 36
最佳方案 38
第5章 整合异步脚本 41
代码示例:menu.js 42
竞争状态 44
异步加载脚本时保持执行顺序 45
技术1:硬编码回调 46
技术2:Window Onload 47
技术3:定时器 48
技术4:Script Onload 49
技术5:降级使用script标签 50
多个外部脚本 52
Managed XHR 52
DOM Element和Doc Write 56
综合解决方案 59
单个脚本 59
多个脚本 60
现实互联网中的异步加载 63
Google分析和Dojo 63
YUI Loader 65
第6章 布置行内脚本 69
行内脚本阻塞并行下载 69
把行内脚本移至底部 70
异步启动执行脚本 71
使用script的defer属性 73
保持CSS和JavaScript的执行顺序 73
风险:把行内脚本放置在样式表之后 74
大部分下载都不阻塞行内脚本 74
样式表阻塞行内脚本 75
问题确曾发生 77
第7章 编写高效的JavaScript 79
管理作用域 79
使用局部变量 81
增长作用域链 83
高效的数据存取 85
流控制 88
快速条件判断 89
快速循环 93
字符串优化 99
字符串连接 99
裁剪字符串 100
避免运行时间过长的脚本 102
使用定时器挂起 103
用于挂起的定时器模式 105
总结 107
第8章 可伸缩的Comet 109
Comet工作原理 109
传输技术 111
轮询 111
长轮询 112
永久帧 113
XHR流 115
传输方式的前景 116
跨域 116
在应用程序上的执行效果 118
连接管理 118
测量性能 119
协议 119
总结 120
第9章 超越Gzip压缩 121
这为什么很重要 121
问题的根源 123
快速回顾 123
罪魁祸首 123
流行的乌龟窃听者实例 124
如何帮助这些用户 124
设计目标:最小化未压缩文件的尺寸 125
引导用户 129
对Gzip的支持进行直接探测 130
第10章 图像优化 133
两步实现简单图像优化 134
图像格式 135
背景 135
不同图像格式的特性 137
PNG的更多资料 139
自动无损图像优化 141
优化PNG格式的图像 142
剥离JPEG的元数据 143
将GIF转换成PNG 144
优化GIF动画 144
Smush.it 145
使用渐进JPEG格式来存储大图像 145
Alpha透明:避免使用AlphaImageLoader 146
Alpha透明度的效果 147
AlphaImageLoader 149
AlphaImageLoader的问题 150
渐进增强的PNG8 Alpha透明 151
优化Sprite 153
超级Sprite VS.模块化Sprite 154
高度优化的CSS Sprite 155
其他图像优化方法 155
避免对图像进行缩放 155
优化生成的图像 156
Favicons 157
Apple触摸图标 158
总结 159
第11章 划分主域 161
关键路径 161
谁在划分主域 163
降级到HTTP/1.0 165
域划分的扩展话题 168
IP地址和主机名 168
多少个域 168
如何划分资源 168
新型浏览器 169
第12章 尽早刷新文档的输出 171
刷新文档头部的输出 171
输出缓冲 173
块编码 175
刷新输出和Gzip压缩 176
其他障碍 177
刷新输出时的域阻塞 178
浏览器:最后的障碍 178
不借助PHP进行刷新输出 179
刷新输出问题清单 180
第13章 少用iframe 181
开销最高的DOM元素 181
iframe阻塞onload事件 182
使用iframe并行下载 184
脚本位于iframe之前 184
样式表位于iframe之前 185
样式表位于iframe之后 186
每个主机名的连接 187
iframe中的连接共享 187
跨标签页和窗口的连接共享 188
总结使用iframe的开销 190
第14章 简化CSS选择符 191
选择符的类型 191
ID选择符 192
类选择符 193
类型选择符 193
相邻兄弟选择符 193
子选择符 193
后代选择符 193
通配选择符 194
属性选择符 194
伪类和伪元素 194
高效CSS选择符的关键 194
最右边优先 195
编写高效的CSS选择符 195
CSS选择符性能 197
复杂的选择符影响性能(有时) 197
应避免使用的CSS选择符 200
回流时间 201
在现实中测量CSS选择符 202
附录A 性能工具 205
索引 221
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
Timers are the de facto standard for splitting up JavaScript code execution in browsers. Whenever a script is taking too long to complete, look to delay parts of the execution until later. Note that very small timer delays can also cause the browser to become unresponsive. It’s recommended to never use a delay of zero milliseconds, as this isn’t enough time for all browsers to properly update their display. In general, delays between 50 and 100 milliseconds are appropriate and allow browsers enough idle time to perform necessary display updates. (查看原文) —— 引自第104页 -
by default, all functions passed into setTimeout are run in the global context, so this is equal to window. (查看原文) —— 引自第106页
> 全部原文摘录
喜欢读"高性能网站建设进阶指南(第二版)"的人也喜欢的电子书 · · · · · ·
喜欢读"高性能网站建设进阶指南(第二版)"的人也喜欢 · · · · · ·
-
- 高性能网站建设指南(第二版) 7.9
-
- Web性能权威指南 8.8
-
- JavaScript语言精粹 9.0
-
- 函数式编程思维 7.2
-
- CSS3专业网页开发指南 7.6
-
- HTTP/2基础教程 7.6
-
- 锋利的jQuery 8.4
-
- 深入学习MongoDB 7.3
高性能网站建设进阶指南(第二版)的书评 · · · · · · ( 全部 12 条 )
![](https://img2.doubanio.com/icon/u1044303-11.jpg)
![](https://img2.doubanio.com/icon/u2407003-11.jpg)
黑背羚是世上跑动最快的动物,这本书则可以助你使站点跑的更快。
![](https://img9.doubanio.com/icon/u4714922-5.jpg)
这本书比上一本《高性能网站建设指南》更加的深入
![](https://img9.doubanio.com/icon/u3473407-5.jpg)
![](https://img3.doubanio.com/icon/u46878056-2.jpg)
Even Faster Web Sites
> 更多书评 12篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部4 )
-
电子工业出版社 (2010年4月)8.9分 629人读过
-
O'Reilly Media (2009)8.7分 71人读过
-
东南大学出版社 (2009年12月)暂无评分 5人读过
以下书单推荐 · · · · · · ( 全部 )
- 团队图书馆 (dexteryy)
- 前后端工程师书籍 (冯先森你好)
- 书籍列表 (十甫寸)
- 移动 IT 互联网 人工智能 洗脑指南 (大陆演员)
- 书单|web ( DuRaRaRa!!)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于高性能网站建设进阶指南(第二版)的评论:
feed: rss 2.0
3 有用 卤代烃 2022-10-25 12:35:16 上海
这个再版很容易让人误解,以为是加了什么新东西,其实内容和2009 英文原版,2010 译版内容是一样的。 本书的思路结构不错,问题和作者上一本书一样,现如今看来很多内容都过时了,实际工程中很难有落地。举个例子,书中的 Chrome 版本为 1,现在(2022-10)都 100+ 了。 从各个章节中可以看出一些几十年来 Web 通有的问题,其实将近 20 年来问题都是这些,比如说拆包方案,资源优... 这个再版很容易让人误解,以为是加了什么新东西,其实内容和2009 英文原版,2010 译版内容是一样的。 本书的思路结构不错,问题和作者上一本书一样,现如今看来很多内容都过时了,实际工程中很难有落地。举个例子,书中的 Chrome 版本为 1,现在(2022-10)都 100+ 了。 从各个章节中可以看出一些几十年来 Web 通有的问题,其实将近 20 年来问题都是这些,比如说拆包方案,资源优化,脚本执行顺序、网络优化等等。相对应的在各个年代都有一些解决思路,技术整体上还是算螺旋式上升。 看完这本书最大的感受是优化思路是长存的,但是适配是没有出路的;前者多少年了都没有大变,后者只要相关平台升个级迭代几个版本就会变的毫无意义。这也是前端之殇,80% 的人都会困在适配里,难以逃出这个怪圈。 (展开)
0 有用 豆友76013858 2018-07-25 19:47:17
书不厚,适合扫盲,该深入的地方还不够深入或补充资料不够
0 有用 布兰特 2017-08-15 21:34:29
有点像一些博文的集结成册,很多尝试具有年代感,但背后的思考很有价值。感觉很多琐碎的点很有用,比如第一次知道选择器是从右向左匹配的。
0 有用 姚泽源 2016-10-23 16:02:49
出版五年以上的前端书籍就不要再看了。。。
0 有用 Mars 2016-12-22 16:38:27
有点过时了,都是些千篇一律的东西。
3 有用 卤代烃 2022-10-25 12:35:16 上海
这个再版很容易让人误解,以为是加了什么新东西,其实内容和2009 英文原版,2010 译版内容是一样的。 本书的思路结构不错,问题和作者上一本书一样,现如今看来很多内容都过时了,实际工程中很难有落地。举个例子,书中的 Chrome 版本为 1,现在(2022-10)都 100+ 了。 从各个章节中可以看出一些几十年来 Web 通有的问题,其实将近 20 年来问题都是这些,比如说拆包方案,资源优... 这个再版很容易让人误解,以为是加了什么新东西,其实内容和2009 英文原版,2010 译版内容是一样的。 本书的思路结构不错,问题和作者上一本书一样,现如今看来很多内容都过时了,实际工程中很难有落地。举个例子,书中的 Chrome 版本为 1,现在(2022-10)都 100+ 了。 从各个章节中可以看出一些几十年来 Web 通有的问题,其实将近 20 年来问题都是这些,比如说拆包方案,资源优化,脚本执行顺序、网络优化等等。相对应的在各个年代都有一些解决思路,技术整体上还是算螺旋式上升。 看完这本书最大的感受是优化思路是长存的,但是适配是没有出路的;前者多少年了都没有大变,后者只要相关平台升个级迭代几个版本就会变的毫无意义。这也是前端之殇,80% 的人都会困在适配里,难以逃出这个怪圈。 (展开)
0 有用 豆友76013858 2018-07-25 19:47:17
书不厚,适合扫盲,该深入的地方还不够深入或补充资料不够
0 有用 布兰特 2017-08-15 21:34:29
有点像一些博文的集结成册,很多尝试具有年代感,但背后的思考很有价值。感觉很多琐碎的点很有用,比如第一次知道选择器是从右向左匹配的。
0 有用 Mars 2016-12-22 16:38:27
有点过时了,都是些千篇一律的东西。
0 有用 姚泽源 2016-10-23 16:02:49
出版五年以上的前端书籍就不要再看了。。。