全文共2215字,预计学习时长6分钟

图源:unsplash

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

图源:TodoMVC Benchmark

另外,如果熟悉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

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

· 速度极快。

· 比React、Angular和Vue更轻便。

· Inferno包含其自己的服务器端渲染和路由功能。

· 可以将常规样式属性与Inferno样式一起使用。

· 可以使用自己的体系结构来构建应用程序,而不是将其限制于其他人的设计。

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

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

图源:unsplash

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

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

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

一起分享AI学习与发展的干货

欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

React、Preact还是Inferno?哪个是用于快速应用程序的最佳JS框架相关推荐

  1. 【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框架及UI小部件

    Webix是Javascript库 一种软件产品 用于加速Web开发的 JavaScript UI库和框架 Webix用于跨平台Web应用程序开发的JS框架,为您提供102个UI小部件和功能丰富的CS ...

  2. java cuba_CUBA平台–用于快速应用程序开发的开源Java框架

    java cuba 传统上,自计算时代开始以来,企业软件开发自然面临着一个挑战,当时自然而然地,企业软件开发本应专注于解决实际的业务问题,但与此同时,开发人员必须在技术上花费大量时间和精力.解决方案的 ...

  3. CUBA平台–用于快速应用程序开发的开源Java框架

    传统上,自计算时代开始以来,企业软件开发自然面临着一个挑战,当时自然而然地,企业软件开发本应专注于解决实际的业务问题,但与此同时,开发人员必须在技术上花费大量时间和精力.解决方案的一面,例如架构和通用 ...

  4. react cookie_安全React快速应用程序jsonwebtoken cookie会话auth0和通行证教程

    react cookie I've been a long-time learner of express, node, and react projects. I'm always hopping ...

  5. 前端3大JS框架走势图:vue增长最快,react或被Preact 取代

    Javascriptreport 近日发布了一篇文章来比较流行前端框架的走势.走势图是通过统计最新的数据,并与前一年的数据进行比较而生成.数据来源于 npm trends 的每日下载量. 前端框架三巨 ...

  6. CVPR2020:Grid-GCN用于快速和可扩展的点云学习

    CVPR2020:Grid-GCN用于快速和可扩展的点云学习 Grid-GCN for Fast and Scalable Point Cloud Learning 论文地址: https://ope ...

  7. OpenCV用于快速边缘检测的结构化森林

    OpenCV用于快速边缘检测的结构化森林 用于快速边缘检测的结构化森林 介绍 例子 源代码 解释 加载源彩色图像 将源图像转换为[0; 1]范围 运行主算法 显示结果 用于快速边缘检测的结构化森林 介 ...

  8. 用于快速排查Java的CPU性能问题(top us值过高)

    转载于GIT路径 https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-th ...

  9. 【githubshare】Linux sed 命令行常用汇总:useful-sed,收集了 sed 命令行的诸多常见用法,可用于快速处理文本文件

    Linux sed 命令行常用汇总:useful-sed,收集了 sed 命令行的诸多常见用法,可用于快速处理文本文件. 仓库内提供了不少示例,如输出文件首行内容,正则匹配替换文本内容.删除空文件.删 ...

最新文章

  1. 6. 函数参数 与 展开运算符
  2. 存储过程使用事物的几种方式 转载自--http://www.cnblogs.com/chengxiaoming/archive/2010/06/11/1756163.html...
  3. Oracle10g 64位 在Windows 2008 Server R2 中的安装 解决方案
  4. 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.4. 重点回顾)
  5. Work Measurement - 1
  6. python机器学习库_Python机器学习库 Top 10,你值得拥有!
  7. 阮一峰react demo代码研究的学习笔记 - how is h1 got parsed - not answer
  8. 分布式理论CAP定理
  9. 茅台酒是不是勾兑的?
  10. .net remoting 使用事件
  11. iOS13.4系统来袭CarPlay更好用,安卓微信内侧7.0.13支持黑暗模式了,附下载地址...
  12. 易优(eyoucms)CMS网站搬家教程
  13. android_root后的玩机:magisk模块root隐藏/lsposedxposed框架的使用/MIUI小窗多开
  14. 复盘2020:那些崛起的公司
  15. excel 设置双坐标轴柱状图
  16. 3D Models (3D 模型)
  17. 计算机网络安全凭据,账户为用户或计算机提供安全凭证,以便用户和计算机能够登录到网络,并拥有响应访 - 百科题库网...
  18. Power BI可视化技巧:正负值配色
  19. 用户运营:如何用B端运营思维做用户增长?
  20. 设计模式——开闭原则

热门文章

  1. 软件安全测试-软件安全测试概述
  2. 计算机备份与恢复教案,15数据备份与恢复(教案)
  3. python pygame小游戏_第一个python+pygame小游戏
  4. SOUI 将 soui-sys-resource.dll 静态编译到exe中方法.
  5. 列奥纳多 • 全才 • 达 • 芬奇
  6. Canal 整合 canal-admin ,canal-adapter
  7. Lineage OS刷机出现error 7的解决办法
  8. PowerBuilder9 学习笔记
  9. 管家婆分销v3服务器要什么系统,管家婆分销ERPV3系统使用培训-20210723010355.pptx-原创力文档...
  10. 软件工程专业考研是否更有利于找工作?