推荐序

对于工程师来说,性能永远是绕不开的话题。目前硬件和网络都在飞速发展,然而新的软件和交互形式在发挥想象力的同时也在最大化地发挥硬件和网络的潜力,从长远来看性能仍然是工程师关心的话题。

对于用户来说,性能同样是用户体验的核心与基础,大部分用户可能并不理解性能这个概念,但他们永远想要启动更快、响应更迅速的软件。

相比其他工程师,前端工程师是直接和用户打交道的一群人,直接对用户机器上运行的软件体验负责。当讨论后端性能时,在大部分情况下讨论的是吞吐量、并发数和响应时间等,关心的是软件运行在服务器上的性能表现。当讨论前端性能时,在更多情况下讨论的是用户感受到的白屏时间、延迟和卡顿等。这种差异使前端性能和用户体验的关联更加密切,也赋予了前端工程师独特的使命。

想要解决性能问题,开发人员需要分析现状、提出设想、进行验证,而这些都需要开发人员对相关系统的知识有足够的了解。本书从两个方面介绍了性能领域,前面介绍了“度量、分析、实验”的方法论,后面则以性能为切面介绍了前端生态与性能有关的方方面面。

读者在阅读本书时可以按照自己的需要决定阅读顺序,但至少先完整地阅读方法论部分。相比具体的知识点,方法论能为真正的性能优化工作提供通用化的思路,性能优化作为一个系统化的工程需要行之有效的思路,而不仅仅是照搬点状的知识点。

而以性能为切面也可以为读者看待前端生态提供一个不一样的视角,很多基础知识看起来和日常工作似乎没有太多的联系,但从性能的视角可以看到这些协议、工具、方案背后的思考和对实际应用的切实影响。性能并非孤立的技术领域,而是和系统中的每个环节都息息相关,为读者更深入地理解系统提供了视角。

写前端性能优化对作者有很高的要求,要有深度实践的经验并形成一定的方法论。当轩是资深开源开发人员,曾在第十五届D2前端技术论坛担任讲师。希望本书能够给广大读者带来醍醐灌顶式的帮助。

——Node.js布道者,《狼书》作者,桑世龙(花名狼叔)