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

开发 前端
JavaScript中有许多框架,且各有千秋。在过去的几个月中,笔者一直在研究各种JavaScript框架及其差异。本文中,笔者将选择三个框架,并讨论构建快速Web应用程序的优秀框架。

本文转载自公众号“读芯术”(ID:AI_Discovery)

JavaScript中有许多框架,且各有千秋。在过去的几个月中,笔者一直在研究各种JavaScript框架及其差异。本文中,笔者将选择三个框架,并讨论构建快速Web应用程序的优秀框架。

[[345773]]

笔者选择了React、Preact和Inferno,它们是非常有名的框架。本文将讨论这些框架的功能(能够开发快速的Web应用程序)、优缺点、统计数据以及其他一些有趣的特点,这些特点将帮助你为项目选择优秀的框架。

Preact

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快四倍。

另外,如果熟悉React,与Preact一起使用会非常容易,因为它与React很大程度上兼容。除此之外,使用Preact还有几个重要的优点:

  • 它支持ES6 API(与React相同)。
  • 强大的CLI支持快速的项目设置
  • 包含React独有的其他高级功能。
  • Preact处于迅速增长中,出现了许多示例、大量文档、不断增长的社区等。

尽管Preact包含许多功能,但也有一些缺点。但如果需要构建基于性能的小型应用程序,那么Preact仍然是比React更好的选择。

Inferno

Inferno是另一个JavaScript UI库,类似于React。与Preact相似,Inferno也使用与React相同的API构建,但是Inferno的主要目的是变得快速、轻便。尽管Inferno基于React,但与React 和Preact相比,它包含一些重要的功能/差异:

  • 与React相比,Inferno的体积非常小。压缩后约为8KB,比Preact稍大。
  • Inferno不单独包含DOM。Inferno的DOM内置于其核心中。
  • Inferno-compact可以帮助您使用各种React库。
  • Inferno在功能组件上使用生命周期方法。

由于本文主要基于比较速度和性能,因此来看一下Inferno自身提供的关于一些JS框架的基准比较。

如图所示,Inferno对于典型应用程序操作的基准值高于Preact和React的基准值。它们几乎与Vanilla JS相似。可以在GitHub上找到有关此基准测试系统的更多详细信息。以下是使用Inferno的其他一些优点:

  • 速度极快。
  • 比React、Angular和Vue更轻便。
  • Inferno包含其自己的服务器端渲染和路由功能。
  • 可以将常规样式属性与Inferno样式一起使用。
  • 可以使用自己的体系结构来构建应用程序,而不是将其限制于其他人的设计。

另一方面,它也存在一些明显的缺点。由于与React相比,Inferno相对较新,因此其生态系统和社区仍在发展。从而需要大量时间来提供其他库、支持等。

同样,Inferno不对Hooks提供支持。尽管可以使用inferno-compact来使用React组件或包,但是这会使项目变慢并且变大。这样Inferno的优质体验感会打折扣。

本文主要目的是比较React、Preact和Inferno框架的速度。可以看到,Preact和Inferno的大多数功能基于React。但是在速度和性能方面,Preact居首位,而Inferno则位居第二。

因此,如果正在为需要闪电般性能的小型平台寻找类似React的框架,Preact或Inferno将是理想选择。但必须始终牢记, React是已经几乎取代了Angular的即成框架,因此无法将React与Preact或Inferno的功能完全匹配。

 

在功能和本机支持方面,React仍然位居榜首,而Preact和Inferno在速度方面具有优势,根据项目选你所需即可。

 

 

责任编辑:华轩 来源: 读芯术
相关推荐

2020-02-25 09:00:00

React前端框架

2021-12-29 07:09:43

React框架Vue

2021-09-18 10:00:24

ReactJavaScript前端

2020-03-27 15:03:17

React JS框架开发平台

2020-05-29 15:33:28

Node.js框架JavaScript

2020-09-02 07:15:13

ReactJavaScript框架

2014-01-15 15:55:20

Chrome OSAndroid

2019-03-21 08:28:23

框架AngularVue

2016-11-14 15:51:42

JavaScriptAngular.jsReact.js

2021-11-26 21:38:44

JavaScript框架开发

2024-02-07 11:34:52

Preact前端库React

2024-03-04 07:33:39

RemixReact框架

2021-02-26 11:52:21

物联网IOT物联网技术

2022-04-16 20:10:00

React Hookfiber框架

2023-06-14 08:01:13

ReactUI 组件库

2024-02-21 23:45:48

2023-10-26 00:33:51

JS框架React

2020-06-01 09:40:06

开发ReactTypeScript

2022-08-19 09:01:59

ReactTS类型

2022-06-13 06:20:42

setStatereact18
点赞
收藏

51CTO技术栈公众号