# 前方的路:希望成为你的起点
## 感谢
首先要谢谢每一位读到最后一章的同学。这是我的第一本小册,也是我第一次撰写对外开放的知识内容,谢谢大家选择了这本小册,选择了我这个作者。
## 未完成的故事
对笔者来说,撰写小册的两个月,是挑战重重的两个月。在这个过程中,笔者时时刻刻都在与“程序员”和“技术作者”这两个角色较劲。前者要求我锱铢必较、求深求全,后者则需要我在小册内容的深度、广度与可读性之间作出权衡。正是因为有了这一番又一番的权衡,它才终于被打磨成了一本篇幅短小、卖相可爱的“小册”,而非一本庞大的、令人望而生畏的“手册”。
但也是因为如此,小册里多出了一些“未完成的故事”。比如网络优化这部分,我想可能会有同学兴致勃勃地想听一听 DNS 的预解析或者 TCP 协议的负载均衡;再比如资源加载这一块,为什么说了 async 和 defer,却没有提 preload 和 prefetch 呢?又或者比较追逐“潮流”的同学,心心念念的是 Service Worker 和 Web Worker 的应用方案;甚至所在团队性能这块还没做起来的同学,希望我可以提供能够耦合进业务的性能监测方案,等等(这些都是非常实际的阅读需求)。
但正如我开篇所说的,我的初心并非是为大家提供一本面面俱到的“手册”。前端性能优化的知识点零碎、不成体系,这是它学习的痛点,也是小册想要解决的问题。有许多同样精彩的性能知识,我们可以针对它做技术方案测试、可以为它开研讨会,但它并不适合出现在小册的写作大纲里、以短文的形式呈现。我希望呈现给大家的内容,是前后相连,自成体系的“一串”知识。是大家在学习、工作之余,在等公交、搭地铁的间隙,在碎片化的时间里,仍然能够轻松阅读并理解的友好内容。
## 前方的路
小册之愿,是希望成为大家性能优化这条路上的起点。
相对于模式成熟、方案完善的服务端性能优化来说,前端性能优化整体的起步是比较晚的。但在当今的大环境下,它又是极其重要的一个工作。我们是离用户最近的工程师,需要直接对用户的体验负责。因此,我们需要做的努力还有太多太多。
既然已经读到了最后一章,我想大家应该都收获了一张属于自己的前端性能优化的核心知识“索引表”——我希望它能成为大家的起点,成为各位今后拓展相关技能的素材。当下前端世界里,提起技术,许多初学者第一反应仍然是学框架、学工具。框架和工具固然重要,但一个合格的前端工程师,还应该具有抽象思维的能力和技术攻关的实力——这两点,都可以在性能优化的学习和实践过程中得到磨炼和凸显。
在庞大的前端性能知识体系面前,一本单薄的小册是远远不够的。接下来大家要做的,就是实践、实践、再实践!反复地阅读文字、一味地深究理论是无法使我们的技能变“厚”的,最好的办法就是去做,去用,在用的过程中发现问题、解决问题、拓展问题——那些“未完成的故事”,一定会在这个过程中被你书写圆满。
把这张“索引表”装进行囊,继续征战你的前端性能优化之旅吧!
- 开篇:知识体系与小册格局
- 网络篇 1:webpack 性能调优与 Gzip 原理
- 网络篇 2:图片优化——质量与性能的博弈
- 存储篇 1:浏览器缓存机制介绍与缓存策略剖析
- 存储篇 2:本地存储——从 Cookie 到 Web Storage、IndexDB
- 彩蛋篇:CDN 的缓存与回源机制解析
- 渲染篇 1:服务端渲染的探索与实践
- 渲染篇 2:知己知彼——解锁浏览器背后的运行机制
- 渲染篇 3:对症下药——DOM 优化原理与基本实践
- 渲染篇 4:千方百计——Event Loop 与异步更新策略
- 渲染篇 5:最后一击——回流(Reflow)与重绘(Repaint)
- 应用篇 1:优化首屏体验——Lazy-Load 初探
- 应用篇 2:事件的节流(throttle)与防抖(debounce)
- 性能监测篇:Performance、LightHouse 与性能 API
- 前方的路:希望成为你的起点