性能的核心在于让您的网站尽可能快,包括实际性能(例如文件大小小、加载速度快)以及性能给人的感受(例如显示进度并尽快将初始内容变为可用状态,即使并非所有内容都已加载)。
4. 性能
最佳实践
扩展模块
4.1 性能基础
学习成果
-
理解实际性能和感知性能的概念以及两者之间的区别。
-
理解关键性能概念
-
源顺序。
-
关键路径。
-
延迟。
-
浏览器如何渲染页面。
-
-
理解性能如何影响可持续性——良好的性能可以通过减少能源消耗和带宽使用量,对地球产生积极影响。
-
能效
-
代码性能(参见 4.5 JavaScript 与性能)。
-
静态功耗(空闲状态)。
-
-
硬件效率(可维修性/利用率)。
-
需求效率
-
空间(您在哪里执行计算)。
-
时间(您何时执行计算)。
-
-
资源
4.2 改进页面渲染
学习成果
-
如何减少页面加载时间
-
使用最佳媒体格式和压缩。
-
从静音视频中移除不必要的音频。
-
使用 video preload 属性来减少初始下载量。
-
考虑使用自适应流。
-
使用 width 和 height 属性减少媒体加载卡顿。
-
谨慎选择字体——尽量减小文件大小,例如只包含您需要的字形、变体和粗细。
-
-
如何改进“可用时间”
-
通过最初只显示重要内容来最小化初始加载。尽快使重要的交互功能可用。
-
当用户使用页面时,可以在后台加载其他数据和资源。
-
对不需要立即使用的图像和其他资源使用延迟加载。
-
-
如何提高功能的感知性能
-
使用动画在状态之间过渡,而不是让用户等待最终状态。
-
使用加载微调器和进度条指示进度,让用户感觉有事情在发生。
-
明智地使用事件,例如在
keydown时触发操作,而不是等待keyup。
-
资源
4.3 衡量性能
4.4 CSS 与性能
学习成果
-
理解改进 CSS 性能的技术
-
仅在需要时加载;使用媒体查询进行优化。
-
最小化动画,并强制 GPU 执行动画。
-
最小化重绘。
-
适当地使用
will-change和contain。
-
资源
4.5 JavaScript 与性能
学习成果
-
理解改进 JavaScript 性能的技术
-
减少使用的 JavaScript 量。
-
仅在需要时加载 JavaScript,并移除未使用的代码。
-
适当地使用延迟/异步 JavaScript。
-
压缩、打包和拆分 JavaScript。
-
资源