JavaScript有很多框架,各有各的优势。在过去的几个月里,作者一直在研究各种JavaScript框架及其差异。在本文中,作者将选择三种框架,并讨论构建快速Web应用程序的优秀框架。
作者选择了React、Preact和Inferno这三个非常著名的框架。本文将讨论这些框架的功能(开发快速Web应用程序的能力)、优缺点、统计数据和其他有趣的功能,这将帮助您为您的项目选择一个优秀的框架。
提前
Preact号称是最轻的框架之一,大小为3kB。尺寸小并不限制它的性能。它被认为是一个非常强大的框架,是React强有力的竞争对手。
比较PReact和React,我们可以发现它们之间的一些相似之处。但是因为Preact的功能主要是基于速度和性能,所以两者有更重要的区别。以下是Preact的一些主要特性,这些特性使它比react更快:
首先,压缩后Precat的大小约为3Kb。React压缩后,大约为42KB。
虽然React有自己的集成事件系统,有很多优点,但是被认为是很重的。Preact只使用DOM API实现合成事件系统的功能。
Preact比react-lite(react的简化版)功能更多。
PReact显然比React快。我发现了这个很棒的速度比较机制,它位于GitHub网站上。它可以通过添加、完成和删除100个项目来比较帧速度。因此,笔者进行了基准测试,结果显示Preact比react快4倍。
另外,如果你熟悉react,那么用Preact会非常容易,因为它很大程度上兼容React。此外,使用Preact还有几个重要的优点:
它支持ES6 API(与React相同)。
强大的CLI支持快速项目设置。
包含React独有的其他高级功能。
Preact发展很快,有很多例子,有大量的文档,社区也越来越大。
虽然Preact包含许多功能,但它也有一些缺点。但是,如果您需要构建基于性能的小型应用程序,那么Preact仍然是比react更好的选择。
地狱
Inferno是另一个JavaScript UI库,类似React。与Preact类似,Inferno使用与react相同的API构建,但Inferno的主要目的是快速和轻便。尽管Inferno基于React,但与React和Preact相比,它包含一些重要的功能/差异:
与React相比,魔族的体积非常小。压缩后约8KB,比Preact略大。
地狱不仅仅包含DOM。地狱的DOM内置于其核心。
Inferno-compact可以帮助您使用各种React库。
Inferno在功能组件上使用生命周期方法。
由于本文主要是基于速度和性能的比较,让让我们来看看Inferno自己提供的一些JS框架的基准对比。
如图所示,典型应用程序操作的Inferno基准值高于Preact和react。它们几乎类似于香草JS。关于这个基准系统的更多详细信息可以在GitHub上找到。以下是使用Inferno的一些其他优势:
速度极快。
比反应轻,有棱角和Vue。
Inferno包含自己的服务器端渲染和路由功能。
您可以将常规样式属性用于Inferno样式。
你可以使用自己的架构来构建应用程序,而不是把它局限于其他人的设计。
另一方面,它也有一些明显的缺点。与React相比,Inferno相对较新,因此其生态系统和社区仍在发展中。所以提供其他库、支持等要花很多时间。
同样,Inferno也不提供对钩子的支持。虽然你可以使用inferno-compact的React组件或包,但它会降低速度并使项目变大。就这样,魔族的质量体验会打折扣。
本文的主要目的是比较React、Preact和Inferno框架的速度。如您所见,Preact和Inferno的大多数功能都基于react。但在速度和性能上,Preact排名第一,Inferno排名第二。
因此,如果您正在为需要闪电般性能的小型平台寻找一个类似React的框架,Preact或Inferno将是理想的选择。但是,我们必须始终记住,React是一个几乎取代Angular的开箱即用的框架,因此不可能完全匹配React与Preact或Inferno的功能。
在功能和原生支持方面,React依然高居榜首,而Preact和Inferno在速度上更有优势。根据项目选择自己需要的就行了。编辑AJX
标签:PreactReactInferno