当前位置: 首页 > 科技观察

React、Preact还是Inferno?谁是优秀的JS框架

时间:2023-03-14 12:27:05 科技观察

本文转载自公众号《阅读核心》(ID:AI_Discovery)JavaScript中的框架有很多,各有千秋。在过去的几个月里,我一直在研究各种JavaScript框架及其差异。在本文中,作者将选择三个框架,并讨论用于构建快速Web应用程序的优秀框架。笔者选择了React、Preact和Inferno这三个非常有名的框架。本文将讨论这些框架的特性(支持快速Web应用程序的开发)、优缺点、统计数据以及其他一些有趣的特性,这些特性将帮助您为项目选择一个好的框架。PreactPreact声称是3kB时最轻量级的框架之一。体积小并不限制其性能。它被认为是一个非常强大的框架,也是React的有力竞争对手。在比较Preact和React时,您可以发现它们之间的一些相似之处。但由于Preact的功能主要基于速度和性能,因此它们之间存在更重要的差异。以下是Preact的一些关键特性,使其比React更快:首先,Precat压缩后的大小约为3Kb。React压缩后大约42KB。虽然React有自己完善的事件系统,有几个优点,但也算是很重了。Preact仅使用DOMAPI来实现合成事件系统的功能。Preact比React-lite(React的简化版本)具有更多的特性。Preact比React快得多。我在GitHub站点上找到了这个很棒的速度比较机制。它可以通过添加、完成和删除100个项目来比较帧速度。所以我从中运行了一个基准测试,结果证明Preact比React快四倍。此外,如果您熟悉React,那么使用Preact会非常容易,因为它在很大程度上与React兼容。除此之外,使用Preact还有几个重要的优点:它支持ES6API(与React相同)。强大的CLI支持快速项目设置包含React独有的其他高级功能。Preact发展迅速,有许多示例、广泛的文档、不断壮大的社区等等。尽管Preact包含许多功能,但它也有一些缺点。但如果你需要构建基于性能的小型应用程序,那么Preact仍然是比React更好的选择。InfernoInferno是另一个JavaScriptUI库,类似于React。与Preact类似,Inferno也是使用与React相同的API构建的,但Inferno的主要目的是快速和轻量级。尽管Inferno基于React,但与React和Preact相比,它包含一些重要的特性/差异:Inferno与React相比非常小。压缩后大约8KB,比Preact略大。Inferno不单独包含DOM。Inferno的DOM内置于其核心中。Inferno-compact帮助您使用各种React库。Inferno在功能组件上使用生命周期方法。由于这篇文章主要是比较速度和性能,所以我们来看看Inferno自己提供的一些JS框架的benchmark比较。如图所示,Inferno对典型应用程序操作的基准测试高于Preact和React。它们与VanillaJS几乎相似。有关此基准测试系统的更多详细信息,请访问GitHub。以下是使用Inferno的其他一些优势:极快。比React、Angular和Vue更轻。Inferno包含自己的服务器端渲染和路由功能。可以将常规样式属性与Inferno样式一起使用。您可以使用自己的架构来构建应用程序,而不是将它们限制在其他人的设计中。另一方面,它也有一些明显的缺点。由于与React相比,Inferno相对较新,因此其生态系统和社区仍在发展中。因此需要大量时间来提供额外的库、支持等。同样,Inferno不提供对Hooks的支持。尽管可以使用inferno-compact来使用React组件或bundle,但它会减慢项目速度并使其变得更大。这样一来,Inferno的优质体验就会打折扣。本文的主要目的是比较React、Preact和Inferno框架的速度。可以看到,Preact和Inferno的大部分功能都是基于React的。但在速度和性能方面,Preact位居榜首,Inferno位居第二。因此,如果您正在为需要闪电般快速性能的小型平台寻找类似React的框架,那么Preact或Inferno将是理想的选择。但是必须始终牢记,React是一个开箱即用的框架,几乎已经取代了Angular,因此不可能将React与Preact或Inferno的功能完全匹配。在特性和原生支持方面,React依然高居榜首,而Preact和Inferno在速度方面有优势,根据项目需要选择即可。