谷歌 Web 开发最佳实践手册(4.2.1):消除不必要的下载

【伯乐在线提示】:① 5月6日,谷歌开发者中心推出了一个 Web 开发最佳实践手册。伯乐在线资源频道摘编该资源后,已邀请一些关注 Web 开发的朋友参与翻译手册。② 由于译者朋友几乎都是已在职,都是在工作之余参与,每位的翻译进度会不一样(请理解),所以手册中文版不会按照英文版章节顺序发布。③ 手册中文版尚不完整,请不要转载,谢谢合作。

【导读】:最快和最好地优化了的资源,是不需要加载的资源。你最近经审查过你的资源吗?你应该这么做,而且你应该定期这么做,以确保每个资源都在帮你提供更好的用户体验。

在本课中:

学习重点

  • 将所有页面所需的资源以及第三方资源加入库存
  • 测量各资源的表现:它们提供的价值,以及其技术性能
  • 决定此资源是否提供了足够的价值

 

最快和最好地优化了的资源,是无需加载的资源。当然,这作为建议看起来像是句废话,但在实践中却往往被忽视:作为一个优化工程师,你的职责就是时刻保持批判的眼光,抓住一切机会,来翦除应用程序中任何的非必须资源。跟你的团队一起,对有关必须资源的隐式和显式假设进行定期的质疑和重检,就是一个很好的做法。举几个例子:

  • 在我们的网页中我们总是包含了资源X,但下载和显示它的成本真的与它给用户提供的价值成正比吗?我们能够测量并证明它的价值吗?
  • 某一资源——特别是当它是一个第三方资源时——所提供的性能始终如一吗?该资源处于整个应用的关键路径中、或需要处于其中吗?如果它处于关键路径中,它会成为造成我们网站失败的一个单点故障吗?—— 也就是说,如果该资源不可用,它会影响我们整个网站的性能和用户体验吗?
  • 这个资源需要或已拥有一个服务级别协议(SLA)吗?它遵循提高性能的最佳做法吗(压缩、缓存,其他等等)?

 

往往我们的网页里包含了一些不必要的资源,或者更糟,包含了阻碍页面性能、且未给用户和整个网站带来多大价值的资源。这一可能性既适用于我们自己的、也适用于第三方的资源和小工具上:

  • 站点A决定在其首页上放一个照片循环播放器,让访问者可以点击预览多张照片 —— 所有照片都在页面加载时被加载,用户通过点击查看播放器中的下一张照片。
    • 问题:你统计过有多少用户在此循环播放器里查看了多张照片吗?你可能给绝大部分用户造成了不必要的昂贵下载开销,让他们下载了很多他们永远不需要观看的资源。
  • 站点B决定安装一个第三方插件来显示相关内容,提高社交媒体的参与度,或提供一些其他的服务。
    • 问题:你有没有跟踪过有多少访问者使用此插件、或点击过此插件提供的内容?此插件带来的社交媒体的有利影响,是否能抵消下载它所需额外开销的不利影响?

你看,消除不必要的下载看起来似乎微不足道​​,实际上却正相反。要做好往往需要大量周密的思考和测量。事实上,针对你网页上的每一个资源,为了获得最佳效果,你应该定期清查和重新考虑上面提出的问题。

收藏 评论

关于作者:兔米酱

飘在德国的前端攻城女狮子!(新浪微博:@兔八百) 个人主页 · 我的文章 · 2

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部