写点什么

前端框架基准测试最新结果:18 个框架当中有 13 个达到顶级

  • 2019-04-26
  • 本文字数:1459 字

    阅读完需:约 5 分钟

前端框架基准测试最新结果:18个框架当中有13个达到顶级

小型全栈式 App RealWorld Conduit 最近更新了其基准测试结果。这款 App 分别采用 18 个不同的前端框架构建,并对它们进行了比较。结果显示,18 个框架当中有 13 个获得了顶级的 LightHouse 的分数(也就是在总分 100 分的情况下获得 90 以上)。在这 18 个框架当中,Svelte、Stencil、AppRun、Dojo、HyperApp 和 Elm 的网络传输负载最低(低于 30KB)。


自称为”演示 App 之母“的 Conduit 是对 Medium.com 的全栈式克隆,采用了一组API规范,并带有具备真实世界复杂性的功能。RealWorld项目核心维护者 Eric Simons 解释说:


它就像是TodoMVC,只是使用全栈技术实现。RealWorld 向大家展示了如何使用 React/Angular 等框架在 Node/Django 等平台上构建真实的博客平台。开发者可以把它们混合起来,因为它们都遵循相同的 API 规范。


RealWorld 基准测试始于 2017 年,最近更新了针对使用 18 个不同前端框架实现的 Conduit 的评估结果。2019 年的基准测试排名主要关注这三个方面:性能、大小和代码量。


性能分数是通过LightHouse来评估的。LightHouse 是一个非常流行的用于改进 Web 质量的自动化工具。LightHouse 对性能、可访问性和渐进式 Web App 进行审计,并基于六个加权指标给出性能评估分数。这六个指标按照重要程度排序如下:


  • TTI(Time to Interactive):让一个页面变得可交互需要多长时间。

  • 速度指数(Speed Index):页面处理内容的速度,分数越低也好。

  • FCP(First Contentful Paint):从导航一个页面到浏览器开始渲染 DOM 第一个字节的时间。

  • FCI(First CPU Idle):页面达到最小化可交互的时间(不需要等到页面上的所有元素都可交互,只要可以对大部分用户输入做出响应即可)。

  • FMP(First Meaningful Paint):用户感知到页面主要内容可见的时间。

  • 预估的输入延迟(Estimated Input Latency)。


LightHouse 将性能分数分为三组。90 到 100 分为顶级,表示性能最好的网站。在 RealWorld 基准测试中,大部分(18 个中有 13 个)Conduit 实现属于这一组。前 13 个框架中包括已经很成熟的框架(如 Elm、Dojo、Vue、Angular、Aurelia、Stencil、Svelte 和 React)、简约型框架(如 AppRun、Hyperapp)、较少被使用的框架(如 Crizmas 或 reframe)以及可编译成 JavaScript 的框架 Imba。


这 18 种 Conduit 实现也根据大小进行了排名。基准测试作者详细介绍了这一标准背后的原理及其计算方法:


传输大小是从 Chrome 开发者工具的 Network 页面获得的,包括 GZip 压缩的响应头和响应体……文件越小下载就越快,需要解析的东西就越少。


在性能最好的 13 个框架中,有 6 个(Svelte、Stencil、AppRun、Dojo、HyperApp 和 Elm)的传输大小小于 30KB:



他们通过k-means聚类算法将 18 个框架的传输大小分为 5 类。


框架的特点可以用来解释为什么它们的传输大小可以达到这么小:


  • Svelte 自称为”神奇的即逝 UI 框架“,将 API 编译成最优化的 JavaScript。

  • Stencil 的运行时只有 6KB,并可以编译成 Web 组件。

  • AppRun 和 HyperApp 的体积非常小(分别为 3KB 和 1KB)。

  • Dojo 最近推出了自动代码拆分特性,并针对 PRPL 性能模式进行了优化。

  • Elm 0.19 针对资产文件进行了优化。


前端框架的繁荣促成了基准测试的流行,这些基准测试旨在通过各种有意义的方式对框架进行比较。基准测试涉及的框架可能是各种各样的,具体取决于要比较哪些方面的内容、基准测试的方法和相关性以及分数的算法。但是,在选择前端框架时,还是要进行全盘考虑,包括质量和数量方面的指标。


查看英文原文Benchmark Ranks 18 Front-End Frameworks Implementation of Medium.com Clone


2019-04-26 09:288371
用户头像

发布了 731 篇内容, 共 454.5 次阅读, 收获喜欢 2003 次。

关注

评论 2 条评论

发布
用户头像
佩服兄弟666啊,来我们公司吧,在泰国,收入大几万,邀请你来v我TH0631280401
2019-04-27 17:15
回复
东南亚程序猿骗局?
2019-05-13 18:35
回复
没有更多了
发现更多内容

蒙娜丽莎Rap的秘密!这个AI算法绝不能错过!!!

百度开发者中心

AI

【Promise 源码学习】第十三篇 - Promise.allsettled 和 Promise.any 的实现

Brave

源码 Promise 12月日更

为什么要做团建TB?(6/28)

赵新龙

28天写作

使用Harbor作为Rainbond默认容器镜像仓库,扩展Rainbond镜像管理能力

北京好雨科技有限公司

会用泛型,但你知道什么是泛型的类型擦除吗?

码农参上

Java泛型 签约计划第二季

2021商业评论管理行动力峰会

大咖说

商业 直播

【混合云】部分混合云管理平台大汇总

行云管家

云计算 公有云 混合云 云管平台

【讲坛实录】知识图谱的探索与应用

星环科技

知识图谱

Redis 的事务支持 ACID 么?

码哥字节

redis 事务 ACID 签约计划第二季

弹性伸缩 && 多机房

空空

架构设计

和合共赢,DataPipeline与麒麟软件完成产品兼容性互认证

DataPipeline数见科技

中间件 数据库中间件

网易应用创新开发者大赛成功在杭举办,十强队伍现场比拼

网易云信

人工智能 音视频 直播

多级缓存 && 分库分表

空空

架构设计

编译优化后,for循环中i++和++i究竟哪个效率高?

码农参上

字节码 编译优化 签约计划第二季

AI模型也需要资产管理,星环科技重磅推出AI运营平台MLOps 星环科技 星环科技

星环科技

AI

Smack库 XMPP Tigase异常SASLErrorException

Changing Lin

12月日更

偷天换日,用JavaAgent欺骗你的JVM

码农参上

字节码插桩 代理 探针 签约计划第二季

Redis 6.X Cluster 集群搭建

码哥字节

redis cluster 签约计划第二季

春松客服入驻Rainbond开源应用商店

北京好雨科技有限公司

ipvs localhost 为何不正常

Geek_f24c45

k8s IPVS kube-proxy

目前市面上堡垒机的品牌有哪些?采购时候需要考虑哪些?

行云管家

网络安全 等保 堡垒机 等级保护

微服务

空空

架构设计

基于HTML、CSS、JS的小游戏/工具制作过程及完整源码

海拥(haiyong.site)

28天写作 内容合集 签约计划第二季 12月日更 技术专题合集

Python代码阅读(第67篇):获取列表中的去重后的元素

Felix

Python 编程 列表 阅读代码 Python初学者

热门Scrum敏捷看板工具

顿顿顿

项目管理 Scrum 敏捷开发 研发管理 产品研发

安全攻防实战系列MSF

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

浅谈Java编译优化之常量折叠技术

码农参上

编译器优化 签约计划第二季

单库单应用 && 内容分发

空空

架构设计

查询分离

空空

架构设计

动图图解GC算法 - 让垃圾回收动起来!

码农参上

垃圾回收 垃圾回收算法 签约计划第二季

即时通讯(IM)开源项目OpenIM本周版本发布-v1.0.6

OpenIM

前端框架基准测试最新结果:18个框架当中有13个达到顶级_大前端_Bruno Couriol_InfoQ精选文章