Vue性能指标逐渐开始反超React

在之前的全球网站统计中,利用React构建的网站比例远大于Vue,而随着Vue的飞速发展,尤其是去年发布了Vue3后,越来越多的人开始使用了。

那么在这种情况下,用Vue构建的网站比例如何了呢?除了Vue和React,其它框架的占比如何?每个网站的性能又如何?

所有数据无法证明这些框架孰优孰劣,毕竟框架只是提供能力,所以比较结果仅供参考

本文数据来自于GoogleChromeUserExperienceReport,这是用户在使用Chrome浏览器访问网页时自动上报并记录的,应该还比较有权威性

前言

Chrome所统计的网站性能指标主要来源于三个维度:

LCP[1](LargestContentfulPaint)FID[2](FirstInputDelay)CLS[3](CumulativeLayoutShift)CoreWebVitals

这些也是在GoogleSearch中统计权重的重要指标

在Chrome的用户体验报告里主要统计到的前端开发框架有:Vue、React、AngularJS、Angular、Preact、Svelte、Next.js、Nuxt.js、SvelteKit...

各大框架性能如何?

结合这三个指标,综合数据如下:

移动端(综合)PC端(综合)

这里有个有意思的点,Preact只有4kb左右,而React有32kb左右,都知道前者是后者的轻量级的替代方案,从图中数据可以看出,这两者性能差不多,甚至在PC端的图表数据上来看Preact还优于React

再把这三个指标拆开来看看各大框架的表现情况

FID

这个指标没什么好看的,所有的框架几乎都很完美

在业界流传着一句话:大型应用选React,小型应用选Vue

刚才看的都是统计的所有网站的数据,我们来看下网站排名前万的网站数据

LCPCLS

看这两张图表,Vue构建的网站似乎性能都超过了React?

恰巧最近也看了Vue3的框架设计的书,真的是惊叹Vue框架设计的????之处

资源大小

用户报告其实也统计了各个网站JS资源下载情况,这也是跟网站性能有所关联的,毕竟资源过大或多或少也会减慢页面的渲染速度,尤其是JS文件,需要下载再解析

JS下载大小

可以看到基本上每个框架构建的网站所需要下载的JS资源大小都达到了0kb甚至以上,毕竟SPA应用会一次性把所有的文件都下载下来,这都很正常

从图中看Svelte好像是最优的?这是意料之中的,毕竟跟每个框架的设计有关,Svelte选择了纯编译时(官方所说的无runtime),也就是最终编译成直接操作原生DOM的代码,那么所需要下载的JS资源肯定相较于其它框架是少一些的

又看到个有意思的点,想抛出一个疑问,Preact明明是React轻量替代方案,图中展现的数据来看,Preact确实最"重"的?这是为什么?

再来看一个跟框架本身无关的数据吧,那就是各大网站的图片下载量

图片资源SSRSSG

大家都知道SSR和SSG的出现就是为了解决SPA应用带来的一些性能问题,目的是为了使网站能更快的展现在用户面前,以此来提升网站的性能指标(本文所说的CoreWebVitals)

用户使用报告里同样也收集了使用了这些技术的网站的相关数据,一起来看一下

性能数量

最吸引人眼球的就是SvelteKit了,它的数据指标似乎比其它的框架高出了将近一倍,不过可惜的是统计到的数据只有33个,相较于其它框架的数量差距太大了,留个悬念吧,不知道等它量级起来后,是否还能保持这样的性能

对于CLS、FID、LCP这三个指标来说,大家最关心的应该是LCP,毕竟这是最影响用户体验的指标,那么在使用和没使用服务端渲染框架的网站在LCP这项指标上的表现又如何呢?

发现了特别特别有意思的点:

Next.js的LCP指标远低于ReactNuxt.js的LCP指标远高于Vue

同样是服务端渲染框架为何差别这么大?

回到LCP指标本身,其目前并不会计算所有元素,因为这样会使这个指标变得非常复杂,它现在只


转载请注明:http://www.aierlanlan.com/grrz/598.html

  • 上一篇文章:
  •   
  • 下一篇文章: