网络变得越来越庞大。无论是在广度还是在重量上。 Nick Heer 的“The Bullshit Web”
美国平均互联网连接速度是十年前的六倍,但我们并没有利用这些额外的带宽来加快浏览相同类型的网站,而只是用更多内容来占用它。
Nick 清晰地解释了“胡说八道”的含义,并且可以看到它与Brad Frost 类似的论点 之间的联系。Nick 谈到每次增量交互都是一个选择,并将网络的累赘与 AMP 等框架的兴起和采用联系起来。
Ethan Marcotte 从商业激励的角度出发,对问题进行了不同的阐述
…归根结底,网络的性能问题是一个盈利能力问题。如果我们要讨论页面臃肿,就应该将其置于背景下:在一个数字广告收入对出版商来说正在下降,但对 Facebook 和 Google 来说却蓬勃发展的网络中。我们应该关注那些激励公司包含沉重的广告脚本和烦人的叠加层的潜在结构性问题,或者审查迫使出版商采用 AMP 等措施的市场挑战。
换句话说,我们谈论缓慢网站的方式需要更加广泛。如果我们能做到这一点,那么我们就能更清晰地了解网络在哪里以及如何才能更快。
这是一个导致网站缓慢的系统性行业现状问题。解决这个问题的文化斗争可能与技术斗争同样重要。当然,在技术层面还有很多东西需要学习和处理。
Addy Osamai 撰写了一篇深入探讨(根据 Medium 的说法,需要阅读 20 分钟)的文章,探讨了 JavaScript 对整体网络性能的影响。每个人似乎都同意 JavaScript 是缓慢网站最大的问题领域。它不是说教,而是在 JavaScript 使用量不断增长的时代遵循的一套解释良好的原则。
- 为了保持速度,只加载当前页面所需的 JavaScript。
- 采用性能预算并学会在其中生活。
- 学习如何审核和修剪 JavaScript 包。
- 每次交互都是新的“交互时间”的开始;在此背景下考虑优化。
- 如果客户端 JavaScript 没有改善用户体验,问问自己它是否真的必要。
这并非网站独有:反弹效应是指由于行为或其他系统性反应,新技术提高资源使用效率而导致的预期收益减少。
https://en.wikipedia.org/wiki/Rebound_effect_(conservation)
当人们像自己一样对“普通网络的缓慢”有着同样的想法和担忧时,这真是令人耳目一新且令人欣慰。人们总是觉得自己像堂吉诃德,与巨人作战,而实际上这些巨人只是风车。如今,迫使客户接受网络性能优化的最佳方式是解释移动平台上的加载速度。令人难过的是,你必须想出这样的诡计才能完成如此重要的事情。
目前我正在将一个网站转换为更好的加载时间,该网站目前具有最糟糕的加载时间,尤其是主页,其加载时间约为 6.7 MB。后者最糟糕的部分是:它几乎没有内容可以证明加载如此大量数据是合理的。它只是一个非常通用的主页,带有简单的标题幻灯片、一些文本、一个带有动画的小型基于图像的子导航、另一大块文本,然后是一个长图库。我计算过,我们可以将加载时间从 6.7 MB 减少到大约 800 kb,同时引入延迟加载/按需加载其他资源(主要是图像)。这是通过将当前使用的多用途高级主题移植到更通用、更精简的常规开源主题(即经典的 _s(下划线):) 来实现的。
接下来,通过抛弃当前的页面构建器并将其替换为 Advanced Custom Fields Pro 并巧妙地构建页面模板,处理时间应该可以减少高达 80%(这意味着:初始加载时间为 1-2 秒,而不是目前的 4-6 秒,甚至可能达到 0.9 秒)。
一些额外的措施将是
– 主要通过 SASS 生成的静态 CSS,以及可选的一些简单的仅限于管理 UI 的选项框架来更改重要变量(如基本颜色、排版等)
– 几年前我从 CW Image Optimizer 分叉的图像优化器插件
– 总体上更好的资源处理
– 从同一位置加载所有资源,包括字体,目标是几乎没有外部请求,以优化使用本地缓存和分层措施
cu, w0lf。