什么是渐进式渲染

  1. 渐进式渲染,英文全称 progressive rendering ,也被称之为惰性渲染,指的是为了提高用户感知的加载速度,以尽快的速度来呈现页面的技术;

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

  3. 有一点需要弄明白的是,这不是指的某一项技术,而是各种技术的一种集合;

  4. 更多的关于渐进式渲染的内容,可以参阅 MDN

渐进式渲染方案

骨架屏

  1. 在加载网络数据时,为了提升用户体验,通常会使用一个转圈圈的 loading 动画,或者使用 Skeleton Screen 占位;

  2. 相比与 loading 动画,Skeleton Screen 的效果要更生动;

图片懒加载

  1. 所谓图片懒加载,就是先加载部分图片,剩余的图片等到需要的时候再加载;这在电商网站中尤其常见;

  2. 比如一个电商网站,首屏通常会有很多的数据,清晰度较高的 banner 或轮播;页面非首屏部分会员很多商品夹杂着大量的图片;这是时候选择懒加载以保证首屏的流畅十分重要;

图片占位符

  1. 在网页加载的时候,某些图片还在请求中或者还未请求,这个时候就先找一个临时代替的图像,放在最终图像的位置上,但是这只是临时替代的图形,当图片数据准备好以后,会重新渲染真正的图形数据;

拆分网页资源

  1. 大部分用户不会用到一个网站的所有页面,但通常的做法却是把所有的功能都打包进一个很大的文件里面;一个 bundle.js 文件的大小可能会有几 M ,一个打包后的 style.css 会包含网站的一切样式,从 CSS 结构定义到网站在各个版本的样式:移动端、平板、桌面、打印版等等;

  2. 但用户并不是一开始就需要所有的资源,所以可以对资源进行拆分,首先加载那些关键的资源,其他的资源等到需要的时候再去加载它;

延迟加载

  1. 先加载首屏内容,再加载首屏之外的内容;

  2. 把内容拆分成多个区域,利用 requestanimationFrame 来一帧一帧的加载;

打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. 什么是渐进式渲染
  2. 2. 渐进式渲染方案
    1. 2.1. 骨架屏
    2. 2.2. 图片懒加载
    3. 2.3. 图片占位符
    4. 2.4. 拆分网页资源
    5. 2.5. 延迟加载