Hibop / Hibop.github.io

Hibop 个人博客
https://hibop.github.io/
23 stars 1 forks source link

关于渐进式渲染技术提高网页加载性能 #61

Open Hibop opened 5 years ago

Hibop commented 5 years ago

背景

渐进式渲染是用于提高网页性能(尤其是提高用户感知的加载速度),以尽快呈现页面的技术。

在以前互联网带宽较小的时期,这种技术更为普遍。如今,移动终端的盛行,而移动网络往往不稳定,渐进式渲染在现代前端开发中仍然有用武之地。

一些举例:

异步加载 HTML 片段

https://www.ebayinc.com/stories/blogs/tech/async-fragments-rediscovering-progressive-html-rendering-with-marko/ 文章要点总结: 在eBay,我们非常重视网站速度,并一直在寻找方法让开发人员创建速度更快(fast-loading)的网络应用程序(web-apps)。这涉及完全理解和控制网页如何传递到Web浏览器。渐进式HTML呈现是一种相对古老的技术,可以用来提高网站的性能,但它已经在新一代的的Web应用程序中丢失了。这个想法很简单:**通过尽早和多次刷新,让Web浏览器在更先的下载和呈现页面。浏览器从服务器流式传输(甚至在响应结束之前), 总是具有解析和响应HTML的有用部分。此功能允许更早地下载HTML和外部资源,并允许更早地呈现页面的某些部分。结果是,不管是真实的加载时间还是用户感知时间都将被改善。

在这篇博文中,我们将深入探讨一种我们称之为“异步碎片”的技术,该技术利用渐进式HTML渲染来提高网站速度,而不会使网络应用程序的构建方式大大复杂化。具体示例我们将使用Node.js,Express.js和Marko模板引擎(支持流式传输,刷新和异步呈现的JavaScript模板引擎)。即使您没有使用这些技术,本文也可以让您深入了解如何进一步优化您的选择。