Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

2023-06-02 0 433

起初,js-framework-benchmark 那个工程项目,有如中文名称涵义,仅是点评 js 自然生态的架构操控性的。而后,译者减少了 Rust 同时实现的 WebAssembly 库和架构,如 wasm-bindgen、stdweb、yew,和 seed 等的点评。点评分项非常丰富,可信性也较低。主要包括:行建立:网页读取后,建立 1000 行的耗用天数(无紧接著)。批量行建立:建立 10000 行的耗用天数(无紧接著)。加进慈路高容量表单:在 10000 行的表单上加进 1000 行的耗用天数(无紧接著)。行代替:代替表单中 1000 行的文章内容的耗用天数(5 次紧接著)。部分预览:对有 10000 行的表单,每 10行 预览一次文档的耗用天数(5 次紧接著)。行选择:点选某行,让其突出显示,计算积极响应耗用天数(5 次紧接著)。行互换:对有 1000 行的表单,互换 2 品驭型的耗用天数(5 次紧接著)。行删除:删掉 1000 行表单的耗用天数(5 次紧接著插值)。行去除:去除 10000 行的表单数据的耗用天数(无紧接著)。准备就绪(读取)缓存:网页读取后的缓存采用情形。运行缓存:加进 1000 狐游的缓存采用情形。预览缓存:对 1000 行的表单,继续执行 5 次预览后的缓存采用情形。代替缓存:对 100 行的表单,继续执行 5 次代替后的缓存采用情形。多次重复去除缓存:对 1000 行的表单,继续执行 5 次建立和去除后的缓存采用情形。开启天数:读取、导出 JavaScript 标识符,和呈现网页的耗用天数。持续可视化:TimeToConsistentlyInteractive,晋朝人较为乐观的 TTI 测度分项——当 CPU 和互联网都较空余时,即不再有超过 50ms 的 CPU 任务。JAVA开启天数:ScriptBootUpTtime 测度分项,导出、校对、评估结果大部份网页JAVA所耗用的天数,单位为微秒。主旋律程工成本:MainThreadWorkCost 测度分项,继续执行在主旋律程上的工作所耗用的总天数。主要包括式样、布局等。总信息量:TotalByteWeight 测度分项,读取到网页中的大部份资源的互联网数据传输生产成本(填充后)。另外,点评结论进行分类上,分为关键分项结论和Tumkur分项结论。

Rust web 后端库/架构在大部份后端库/架构的位置

从点评结论来看,wasm-bindgen 操控性和 vanillajs 处在同一个水平,甚至有两项已经胜过。虽然说,目前 wasm-bindgen 还处在起步阶段,但其总需要通过 web-sys 和 js-sys 与 JavaScript 可视化。因此假如后端技术有什么DT大的革新,否则 wasm-bindgen 最好的操控性估计也就是整体和原生植物 vanillajs 整体基本持平吧。点评库房并无 markdown 文件,因此本栏对点评结论截屏:

耗用天数(微秒)± 95%

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

开启指标(含终端终端产品)

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

缓存分配(MB)± 95%

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

Rust web 后端库/架构点评概览

Rust web 后端库中,参与点评的有 8 个:wasm-bindgen、stdweb、yew、seed、simi、dominator、maple,和 delorean。后面 4 个处在起步阶段(是指工程项目完成度的起步,非存在天数的长短),具体大略信息如下:simi(起步阶段,gitlab)、domib 是 wasm 模块与 JavaScript 之间的高层次可视化库。虽然也属于 web 后端,但与 yew、seed 等架构是不同,类似 vanillajs 与 reactjs、vuejs。所以 wasm-bindgen、stdweb 肯定是各项点评操控性都胜出的。点评库房并无 markdown 文件,因此本栏对点评结论截屏:

耗用天数(微秒)± 95%

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

开启分项(含终端终端产品)

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

缓存分配(MB)± 95%

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

yew 架构和其它流狐游端架构的点评较为

具体到还处在初始阶段的 yew 架构来说,虽然功能已经较齐全,但还是很不成熟的。本栏在文章《Rust 和 Wasm 的融合,采用 yew 构建 web 后端(3)- 资源文件及小重构》中曾提及:yew 生产环境的应用。本栏仅是 yew 的初学者,理解不很恰当。根据对官方 API 文档的理解,个人认为当前版本(yew 0.18)用于生产环境,是一个不小的挑战(主要包括开发和维护)。但从工程项目源码、issues 讨论,和路线规划来看,个人认为下个版本(yew 0.19),差强人意。等待发布后,yew 0.19 用于个人或者团队的生产环境,是可以接受的。但从 yew 的操控性点评结论,和和 reactjs、angularjs 的较为来看,是完全可以接受的。点评库房并无 markdown 文件,因此本栏对点评结论截屏:

耗用天数(微秒)± 95%

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

开启分项(含终端终端产品)

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

缓存分配(MB)± 95%

Rust web 前端库/框架评测,以及和 js 前端库/框架的比较

至于另一个较完善的 Rust web 后端架构 seed,处在较靠后的位置,截屏没有体现。更详细全面的大部份 web 后端库/架构的点评和对比,请参阅网页 js-framework-benchmark/current.html。当然,大部份的点评场景都是有局限性的,生产环境的操控性表现,关联到了太多的额外因素。因此任何点评结论,都仅只能做为一个参考。谢谢您的阅读,欢迎交流。如果您发现错别字微信 yupen-com 均可。建议您通过进行更详细的了解:获得资料链接(本文含大量网页链接)、完整标识符。另外原文可以随意修改,错别字也少一些  ;-)。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务