高中生打破React性能极限,MillionJS横空出世
作者:FancyPig | 发布时间: | 更新时间:
相关阅读
视频讲解
高中生Aiden Bai独辟蹊径,借助MillionJS框架将React性能提高了惊人的70%!Aiden Bai的这一发明打破了这种局面!MillionJS采用超级优化的虚拟DOM,将原始虚拟DOM连接到散热器上,避免引起任何问题。基准测试显示,MillionJS在黄金标准框架基准测试中名列前茅,甚至击败了SolidJS!现在,您还可以在线体验实时演示,比较React和Million的表现。除了性能优势,Million.js还非常轻便,仅有4KB大小,使用简单。只需用该框架的块函数包装现有React组件,即可创建高阶组件,让Million接管虚拟DOM
相关资料
- MillionJS Github项目地址 https://github.com/aidenybai/million
- MillionJS 官网 https://million.dev/
图文讲解
今天是2023年6月10日,您正在观看《代码报告》。

今天世界上有数百万种优秀的JavaScript框架,

但最受欢迎的选择仍然是React,

即使我们有更快的替代品,如Solid、Preact和Quick,它们也使用JSX。

React最初的创新之一是虚拟DOM,但许多现代框架已经摆脱了这种方法,

Svelte的创造者Rich Harris曾经称其为纯粹的开销。

尽管如此,在我们所有人死后几百年,React仍可能被用于网站上。

但今天有一些好消息。最近,一位名叫Aiden Bai的高中毕业生通过MillionJS将React的性能提高了70%,该框架提供了超级优化的虚拟DOM,并将原始虚拟DOM连接到散热器上,以避免引起任何问题。


当我第一次看到这个时,我的第一反应是不可能。

毕竟,一个青少年不可能比Meta的整个顶尖工程师团队渲染得更好。但是,有基准测试来支持这些令人难以置信的说法。

例如,在黄金标准框架基准测试中,它的排名比React本身高得多,甚至还击败了SolidJS。


此外,它提供了一个实时演示,您可以在其中并排比较React和Million的表现。

现在需要指出的是,基准测试并不真正代表实际使用情况,绝大多数网络应用程序都不会达到需要使用JavaScript框架来解决渲染问题的地步。

然而,总是有一些人喜欢过度优化。

但是,如果你是一位经验丰富的React开发人员,你可能会想知道什么是虚拟DOM。我从未听说过。React更新UI时,会创建一个轻量级的DOM副本,

在其中计算更新,然后一次性更新所有内容。

这有点像在拆除建筑物的墙壁之前,在蓝图上完成所有更改。


但这一切都发生在运行时,需要大量不必要的工作来确定发生了什么变化。
而Million.js采用更精准的方法,

引入了编译器来执行静态分析,提前确定动态数据的确切位置。



它创建了一个编辑映射,代表应用程序的状态,可以确定需要进行哪些更改,需要的计算量更少。

这种方法受到了其他框架(如Svelte和Solid)的启发,它们也依靠编译器来实现这些精细的DOM更新。

Million也受到了一个叫做BlockDOM的库的启发。

Million的另一个很酷的地方是它只有4千字节,而且使用起来非常容易。

你只需要取一个现有的React组件,将其包装在这个块函数中,就可以创建一个高阶组件,它将阻塞虚拟DOM,并让Million神奇地接管。

基本上,在组件挂载后,它会引用基础DOM元素,然后自行执行所有后续的渲染和变更检测。



此外,它还内置了一个组件,用于渲染块列表。

虽然非常简单,但在你过于兴奋之前,这个项目的创建者承认它并不是一劳永逸的解决方案。

使用块时,您需要遵循一组特定的规则。

如果违反这些规则,它将还原回React的虚拟DOM,并且您将失去所有巨大的优势。

总的来说,Million.js看起来是一个很棒的项目,

但更重要的是,它给了我希望,即Gen Z实际上并不是技术文盲,也许有一天能够修复React。

这就是代码报告。感谢收看,下期再见。