0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

React、Preact和Inferno谁才是真正优秀的JavaScript框架?

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-10-13 16:12 次阅读

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

笔者选择了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和Inferno谁才是真正优秀的JavaScript框架?

另外,如果熟悉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框架的基准比较。

React、Preact和Inferno谁才是真正优秀的JavaScript框架?

如图所示,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在速度方面具有优势,根据项目选你所需即可。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68456
  • javascript
    +关注

    关注

    0

    文章

    511

    浏览量

    53403
  • reactjs
    +关注

    关注

    0

    文章

    4

    浏览量

    4447
收藏 人收藏

    评论

    相关推荐

    javascript属于前端吗

    JavaScript是一种高级编程语言,通常用于网页开发。它是一种脚本语言,可用于在网页上动态交互,提供更好的用户体验。JavaScript是一种广泛使用的技术,几乎所有现代网页都使用它来实现交互性
    的头像 发表于 12-03 11:43 689次阅读

    怎样开启javascript功能

    JavaScript是一种客户端脚本语言,它可以在网页中实现动态交互和功能增强。在现代网页开发中,几乎所有的浏览器都支持JavaScript,因此,开启JavaScript功能是很简单的。 要开启
    的头像 发表于 12-03 11:13 901次阅读

    JavaScript的用途和功能

    JavaScript是一种广泛使用的脚本语言,用于为网站添加动态功能和交互性。从创建简单的交互式表单到设计复杂的网页游戏,JavaScript为开发者提供了丰富的功能和灵活的创作能力。它在现代的网页
    的头像 发表于 12-03 11:12 424次阅读

    javascript指什么

    JavaScript是一种高级编程语言,通常用于为网页添加交互功能。它是一种面向对象的语言,旨在通过编写代码来控制网页的行为,使用户能够与网页进行动态交互。JavaScript能够与HTML和CSS
    的头像 发表于 12-03 11:11 390次阅读

    javascript运行环境有哪些

    JavaScript 是一种广泛应用于网页开发的编程语言,它可以在不同的运行环境下运行。以下是一些常见的 JavaScript 运行环境: 浏览器环境: 浏览器是最常见的 JavaScript 运行
    的头像 发表于 11-27 16:11 1221次阅读

    javascript:;怎么解决

    javascript:” 是一个JavaScript伪协议,它通常出现在URL地址栏或链接中,用于执行JavaScript代码。然而,有时它可能会导致一些问题,特别是在一些不支持
    的头像 发表于 11-26 14:39 2025次阅读

    OpenHarmony之NAPI框架介绍

    的 NAPI OpenAtom OpenHarmony(以下简称“OpenHarmony”)应用层基于 javascript 语言开发,而系统框架层则基于 C++语言。它们之间需要一个桥梁来实现两种语言代码之间
    发表于 11-23 15:36

    javascript深入浅出

    JavaScript是一种广泛使用的编程语言,常用于Web开发。下面是对JavaScript的深入浅出的解释: JavaScript简介 JavaScript是一种解释型、动态类型、基
    的头像 发表于 11-16 10:34 331次阅读

    javascript可以关闭吗

    **JavaScript是一种编程语言,它不能被“关闭”。**JavaScript是一种客户端脚本语言,它通常嵌入在HTML页面中。当用户访问一个包含JavaScript的网页时,浏览器会执行这些
    的头像 发表于 11-16 10:20 518次阅读

    javascript有什么用

    JavaScript是一种广泛使用的编程语言,主要用于增强网页和创建动态网页内容。以下是JavaScript的一些主要用途: 交互性:JavaScript可以使网页具有交互性。例如,当用户点击按钮
    的头像 发表于 11-16 10:19 388次阅读

    javascript怎么开启

    在浏览器中启用 JavaScript 的方法如下: 在浏览器中启用 JavaScript 对于大多数浏览器,您可以在浏览器的设置或选项中启用 JavaScript。以下是一些常见浏览器的启用步骤
    的头像 发表于 11-16 10:16 817次阅读

    前端框架的Signals有何优势?

    这在 React 中是不可能做到的,React 是基于视图驱动的,状态改变会重新执行整个渲染函数,并且 React 完全无法识别状态是如何被使用的,开发者甚至可以通过下面的代码来实现 Reac
    的头像 发表于 10-11 11:04 358次阅读

    React正在经历Angular.js的时刻吗?

    文章指出,React 的核心仍然是一个视图库,这一点没有改变:使用 React 服务器组件,您仍然可以使用 JSX 构建组件,并渲染作为 props 传递的动态内容。但是,除此之外,服务器组件
    的头像 发表于 07-17 16:27 244次阅读
    <b class='flag-5'>React</b>正在经历Angular.js的时刻吗?

    什么才是真正的L3自动驾驶

    2020年被认为是L3自动驾驶元年,目前已经有很多车企宣布实现了L3自动驾驶,比如广汽新能源、小鹏、长安等,但每家车 企的L3在使用场景和功能上又各不相同。你认为L3到底该如何定义,什么才是真正的L3自动驾驶?欢迎大家说出自己的看 法。
    发表于 06-06 11:48 0次下载
    什么<b class='flag-5'>才是</b><b class='flag-5'>真正</b>的L3自动驾驶

    你们知道前端大神是怎么学CSS的嘛

    有人说,要成为前端高手很容易:先学好 HTML/CSS/JavaScript 三剑客,再学会三大前端框架——Vue/React/Angular,快则三个月,慢则半年,前端的工作就没有搞不定的了。
    的头像 发表于 05-30 11:26 405次阅读