首部系统化阐述JavaScript性能优化的经典著作,拥有20余年经验的Web性能调优专家经验结晶,
从语言特性、浏览器原理、网络传输机制、数据结构等多角度深层探讨影响JavaScript代码性能的根本原因,并给出解决问题完整流程和解决方案
《JavaScript性能优化:度量、监控与可视化》是首部系统化阐述JavaScript性能优化的经典著作,拥有20余年经验的Web性能调优专家经验结晶,全五星好评。从语言特性、浏览器原理、网络传输机制、数据结构等多角度深层探讨影响JavaScript代码性能的根本原因,从性能问题的度量、监控和可视化全维度给出了提升JavaScript代码性能的实用工具、方法和实践,并对各种常见的性能问题给出了完整的解决方案。
《JavaScript性能优化:度量、监控与可视化》共分8章:第1章从Web应用运行机制和原理方面解析性能;第2章介绍测量性能的工具(Firebug、YSlow、WebPagetest、R)和实用技术;第3章基于样例工程WPTRuner来介绍如何进行自动化性能监测与可视化;第4章以创建的自制工具perfLogger来讲解JavaSript基准测试和日志记录;第5章讲解W3C制定的用于收集浏览器性能度量值的新标准化方法;第6章具体介绍如何使用JavaScript改进Web性能的各个方面;第7章探讨提升运行时性能的途径,并运用R生成量化的性能图表;第8章探讨如何在性能与代码可读性以及代码模块化之间谋求平衡。
Tom Barker,资深Web技术专家,有20余年行业经验,专注于Web开发的各个方面。现为Comcast公司的Web开发高级经理,费城大学的兼职教授。痴迷于优雅的软件解决方案,软件持续改进,数据的提炼、分析以及可视化。
缪纶,资深软件开发工程师、安全员,负责或参与过多个国家科技支撑项目。现从事计算机网络以及Web开发相关工作,关注JavaScript网站性能多年,对Web性能提升有独到见解。
目 录
译者序
致 谢
第1章 什么是性能
1.1 Web性能
1.2 解析与渲染
1.2.1 渲染引擎
1.2.2 JavaScript引擎
1.3 运行时性能
1.4 为什么性能如此重要
1.5 工具与可视化
1.6 本书的目的
1.7 使用的技术以及拓展阅读
1.8 小结
第2章 测量和影响性能的工具与技术
2.1 Firebug
2.1.1 安装
2.1.2 使用
2.2 YSlow
2.2.1 安装
2.2.2 使用
2.3 WebPagetest
2.4 缩减
2.4.1 Minify
2.4.2 YUI Compressor
2.4.3 Closure Compiler
2.4.4 结果比较
2.4.5 分析与可视化
2.5 R入门
2.5.1 安装并运行R
2.5.2 R基础
2.5.3 使用R进行简单绘图
2.5.4 R的一个实例
2.5.5 使用apply()函数
2.6 小结
第3章 WPTRunner--使用WebPagetest进行自动化性能监测与可视化
3.1 架构
3.2 创建一个共享配置文件
3.3 解析测试结果
3.4 完成实例
3.5 数据解析
3.6 绘制加载时间
3.7 绘制负载和HTTP请求数
3.8 开源
3.9 小结
附:WebPagetest的创办人Patrick Meenan访谈
第4章 perfLogger--JavaScript基准测试和日志记录
4.1 架构
4.2 开始编写代码
4.2.1 计算测试结果
4.2.2 设置测试结果元数据
4.2.3 显示测试结果
4.2.4 保存数据
4.2.5 制定公有API
4.3 远程日志记录
4.4 一个示例页
4.5 为测试结果绘制图表
4.6 开源
4.7 小结
第5章 展望未来,性能的标准化
5.1 W3C的Web性能工作组
5.2 性能对象
5.2.1 性能定时
5.2.2 用perfLogger整合性能对象
5.3 升级日志功能
5.4 性能导航
5.5 性能内存
5.6 高分辨率时间
5.7 新数据可视化
5.8 小结
第6章 Web性能优化
6.1 优化页面的渲染瓶颈
6.1.1 脚本加载
6.1.2 异步
6.1.3 对比结果
6.2 惰性加载
6.2.1 惰性加载的艺术
6.2.2 惰性加载脚本
6.2.3 惰性加载CSS
6.2.4 为什么不惰性加载图片
6.3 小结
第7章 运行时性能
7.1 跨作用域的缓存变量和属性
7.1.1 新建文件
7.1.2 创建测试
7.1.3 结果可视化
7.1.4 属性引用示例
7.2 核心JavaScript与Frameworks的比较
7.2.1 jQuery与JavaScript比较:循环
7.2.2 jQuery与JavaScript比较:DOM访问
7.3 Eval函数的真正价值
7.4 DOM访问
7.4.1 使用队列完成DOM元素修改
7.4.2 使用队列添加新节点
7.5 嵌套循环的代价
7.6 小结
第8章 在性能、软件工程最佳实践和软件产品运行之间谋求平衡
8.1 在性能与可读性、模块化和良好设计之间谋求平衡
8.2 焦土化性能
8.2.1 内联函数
8.2.2 Closure Compiler
8.3 下一步:从实践到实际应用
8.3.1 Web性能监测
8.3.2 用工具检测你的网站
8.3.3 在测试实验环境中进行基准测试
8.3.4 分享你的发现
8.4 小结
第1章 什么是性能
所谓性能是指应用程序运行的速度,它反映了应用程序质量多个层面的问题。我们在谈论Web应用程序时,该应用程序呈现给用户所消耗的时间就是我们所说的Web性能,应用程序对用户指令的响应速度就是我们所说的运行时性能。接下来我们就看看性能的这两个方面。
在Web(特别是移动Web)开发背景下,性能是一个相对较新的主题,但是它绝对早就应该得到关注了。
本书将探讨如何量化和优化JavaScript性能,包括Web性能和运行时性能。这是至关重要的,因为当你试图解决网站的整体性能时,JavaScript可能是提升性能最大的地方。作为YSlow和PageSpeed的缔造者,以及Web性能领域的先驱者,Steve Souders已经通过实验证明了这一点。在实验中,他演示了当删除一个样本网站的JavaScript代码之后,该网站平均性能提高了31%。我们也完全可以像Steve实验中做的那样,从我们的网站中删除所有的JavaScript代码,或者精简JavaScript代码,并学习如何评估我们编写的代码的执行效率。
彻底删除JavaScript代码是不现实的,所以我们要知道如何使JavaScript更加高效。甚至更为重要的是,我们要知道如何创建自动化的工具以跟踪JavaScript的效率,并给出可视化的分析和报告。
1。1 Web性能
当你坐在笔记本前,或使用手持设备,打开Web浏览器,输入一个URL地址并按下回车键,然后等待页面内容传送过来、呈现在你的浏览器上时,此时所需要的时间取决于Web性能。甚于我们的目标,我们将Web性能定义为全面反映页面传送并对最终用户可用的时间。
影响Web性能的因素有很多,网络延迟是排在第一位的。你的网络有多快?要得到所需的服务内容,需要往返跳转多少次?服务器要给出多少次响应?
为了更好地理解网络延迟,先来看看完成一个HTTP事务所需要的步骤(见图1-1)。
……
译者序
JavaScript是比较完善的一种前端开发语言,在现今的Web开发(尤其是在Web 2.0)中应用非常广泛。在Web 2.0越来越流行的今天,我们会发现,许多Web应用项目都会涉及大量的JavaScript代码,并且以后会越来越多。Web开发过程中经常会遇到一些性能问题,尤其是在针对Web 2.0的应用中,应用的性能问题很大一部分都是由于程序员编写的JavaScript脚本性能不佳所造成的,其中也包括了JavaScript语言本身的性能问题,以及与DOM交互时的性能问题。
JavaScript作为一种解释执行语言,加之它的单线程机制,决定了性能问题是JavaScript的软肋,这也是Web软件工程师在编写JavaScript代码过程中需要高度重视的一个问题,尤其是针对Web 2.0的应用。绝大多数Web软件工程师都或多或少地遇到过所开发的Web 2.0应用的性能欠佳问题,其主要原因就是JavaScript性能不足,浏览器负荷过重。但是,解决这种解释执行并且单线程运作语言的性能问题并非易事。
本书从一个体系化的角度对JavaScript性能进行考量,从Web性能探测工具,到数据的收集整理,再到数据的展示与可视化,最后是性能问题的解决,深入浅出、条理清晰。本书尝试从多个方面综合分析导致JavaScript性能问题的原因,并给出适合的解决方案,帮助读者提升Web应用的品质。
本书页数了了,内容精炼,但是它承载了JavaScript性能方面最为宝贵的经验。不仅从语言特性、浏览器原理、网络传输机制、数据结构等层面分析导致JavaScript性能问题的原因,而且介绍多种工具来帮助读者提升开发过程中的工作效率。
翻译本书的过程,也是我们学习和提高的过程。虽然我们一直关注国内外Web性能领域的相关动态,但是从未像本书的作者那样,形成一套完整的实践方法体系。每当看到书中作者提供的代码样例,我们都试图在真实环境中实践,以深刻体会作者的意图和思想。但是由于时间和软硬件环境等方面的原因,无法实践书中所有的代码样例。这里也希望读者能够亲自动手实践,这样才能够更快地掌握JavaScript性能改善的方法和能力。
本书的翻译组织工作由缪纶全面负责。第1~3章由缪纶和王志璋译校,作者简介、第4章、第6章由缪纶和王冠华译校,第5章、第7章、第8章由叶茂译校。
我们在翻译本书的过程中力求行文流畅,但纰漏之处在所难免,请广大读者能够批评指正。
最后,希望本书能够帮助业界的同仁们打造出性能优越的Web软件产品。
缪 纶
听到《JavaScript性能优化:度量、监控与可视化》这本书的消息,我非常激动。作为一名对前端性能有着极致追求的开发者,我深知性能优化是一门艺术,更是一门科学。在我过往的开发经历中,我曾花费大量时间研究各种性能优化的技术,但总觉得缺乏一个系统性的框架来指导。这本书的标题,恰恰点出了我一直以来所寻找的“度量、监控与可视化”这一核心要素。我非常期待书中能够深入讲解如何准确地“度量”JavaScript代码的性能,无论是客户端的运行时性能,还是服务器端的响应速度,都能有详实的数据支撑。其次,“监控”部分更是让我看到了这本书在实际应用中的价值,如何持续地跟踪应用的性能表现,及时发现并解决潜在问题,这对于保证长期用户体验至关重要。而“可视化”这一部分,则让我联想到那些直观易懂的性能报告和图表,能够帮助我们快速定位问题,并向团队有效地传达优化思路。我相信,这本书将为我提供一套全面而深入的性能优化方法论,帮助我更自信、更有效地提升JavaScript应用的性能。
评分《JavaScript性能优化:度量、监控与可视化》这个书名,完美击中了开发者痛点。在如今追求极致用户体验的时代,JavaScript的性能表现直接关系到应用的成败。我一直深信,优秀的开发者不仅要能写出功能强大的代码,更要能写出高效、流畅的代码。然而,性能优化往往是一个充满挑战的领域,很多时候我们感觉代码“慢”,但却难以 pinpoint 具体原因。这本书从“度量”、“监控”和“可视化”三个维度入手,提供了一个非常系统且实用的框架。我非常期待书中能够详细讲解各种性能度量工具的使用方法,比如如何利用Chrome DevTools的Performance面板进行深度的性能分析,以及如何识别常见的性能陷阱,比如内存泄漏、不必要的重绘和回流等。同时,“监控”部分让我看到了对应用上线后的持续关注,这对于保证线上应用的稳定性和高性能至关重要。而“可视化”更是将抽象的性能数据转化为直观的图表,这对于快速理解问题、沟通协作以及向非技术人员解释性能问题都非常有帮助。我相信,这本书将成为我工具箱里不可或缺的一部分,帮助我打造出真正令人印象深刻的Web应用。
评分我一直觉得,JavaScript性能优化是一个既考验技术深度,又需要实践经验的领域。市面上关于JavaScript的书籍汗牛充栋,但真正能深入探讨性能优化,并且提供实操性指导的却不多。《JavaScript性能优化:度量、监控与可视化》这个书名,让我眼前一亮。它不仅仅是停留在理论层面,而是强调了“度量”和“监控”这两个关键动作,这对于解决实际开发中的性能问题至关重要。我曾经遇到过一个项目,初期开发进展神速,但随着功能的增多,页面响应速度急剧下降,用户怨声载道。当时我们尝试了很多零散的优化技巧,效果却不尽如人意,很多时候是“头痛医头,脚痛医脚”,治标不治本。这本书的出现,仿佛为我们提供了一张“性能体检图”,能够帮助我们系统地诊断问题,而不是盲目地尝试。特别是“可视化”这个词,让我充满了期待。我设想,通过直观的图表和数据,能够更清晰地看到代码的执行流程,理解CPU、内存等资源的消耗情况,从而找到性能瓶颈的真正所在,并制定出有针对性的优化方案。这对于提升团队整体的开发效率和应用质量,将有着不可估量的价值。
评分《JavaScript性能优化:度量、监控与可视化》这个书名,让我立刻就产生了浓厚的兴趣。在我看来,任何Web应用的成功,都离不开流畅的用户体验,而JavaScript的性能优化则是实现这一目标的关键。我一直对如何科学地衡量和提升JavaScript性能感到好奇,但很多时候,我只是凭经验去尝试,缺乏一套系统性的指导。这本书的出现,似乎为我打开了一扇新的大门。它强调了“度量”的重要性,这意味着我们将不再凭感觉去优化,而是用数据说话,精准定位性能瓶颈。我迫切地想了解书中会介绍哪些有效的度量工具和方法,以及如何解读这些度量结果。同时,“监控”和“可视化”这两个词也让我看到了这本书的实用价值。在应用上线后,如何持续关注其性能表现,并以直观的方式呈现出来,这对于及时发现问题、进行迭代优化至关重要。我期待这本书能够提供一套完整的流程和丰富的案例,帮助我掌握一套行之有效的JavaScript性能优化体系,让我能够从容应对各种性能挑战。
评分这本《JavaScript性能优化:度量、监控与可视化》的书名本身就充满了吸引力。作为一名长年与JavaScript打交道的开发者,我深切体会到性能优化在现代Web应用开发中的重要性。很多时候,一个看似简单的功能,如果处理不当,就会成为性能的瓶颈,影响用户体验,甚至导致业务流失。这本书的标题点明了核心问题——“性能优化”,并且给出了三个关键的解决方向——“度量、监控与可视化”。这三个词汇精准地抓住了性能优化的几个重要环节。在实际开发中,我们常常陷入“感觉”层面,觉得代码慢,但又说不出具体原因,也找不到有效的改进方向。这本书恰恰为我们提供了一个系统性的方法论,让我们能够从“凭感觉”走向“凭数据”。“度量”意味着我们要学会用科学的方法去衡量代码的执行效率,找出问题所在;“监控”则是在应用上线后,持续关注性能表现,及时发现潜在的性能退化;而“可视化”则能将复杂的性能数据以直观的方式呈现出来,帮助我们快速理解问题,做出决策。我非常期待这本书能为我带来一套行之有效的工具和技巧,让我能够更自信、更高效地解决JavaScript性能难题,打造出真正流畅、响应迅速的Web应用。
评分做手机web app开发必备的优化技能!
评分还没有看,先给好评。
评分非常好用 实惠非常好用 实惠非常好用 实惠
评分帮朋友买的,说还不错,应该是正版!
评分内容大部分点到为止,并没有特别深入展开,感觉覆盖面也有待提升
评分《JavaScript性能优化:度量、监控与可视化》是首部系统化阐述JavaScript性能优化的经典著作,拥有20余年经验的Web性能调优专家经验结晶,亚马逊全五星好评。从语言特性、浏览器原理、网络传输机制、数据结构等多角度深层探讨影响JavaScript代码性能的根本原因,从性能问题的度量、监控和可视化全维度给出了提升JavaScript代码性能的实用工具、方法和最佳实践,并对各种常见的性能问题给出了完整的解决方案。
评分书籍质量不错,内容充实。
评分加油,还会支持,目前正在学习
评分正版的书手感就是好。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有