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一起使用会非常容易,因为它与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在速度方面具有优势,根据项目选你所需即可。
责编ajx
宁德时代将与松下、LG争锋 至2020年电池产能将增5倍
IIC-China 2010春季展参展商预览
介绍一种RC延时放电电路及问题分析
图像生成领域的一个巨大进展:SAGAN
慢速保险丝是怎样一回事?
React、Preact和Inferno谁才是真正优秀的JavaScript框架?
凌力尔特推出精确的SOT23电压基准器件LT6656
iPod Shuffle停产:物理按键推出历史舞台 触摸屏的全面胜利
2020年5G产业发展趋势分析
浦桑尼克LDSM6扫地机器人评测 两千元档明星产品
全球云计算的3A格局正向物联网市场延续
紧逼S7edge手机 Mark给华为P10相机打了很高的分
全天候户外扬尘监控系统改善空气质量
基于物联网技术的下水道溢流监测系统解决下水道溢流
如何通过Wekinator平台使用手势控制Arduino
大数据要如何助力汽车新零售新金融的腾飞呢?
AD9361 RF捷变收发器的性能及应用
小马智行自研自动驾驶域控制器ADC已开始向用户交付样品
在Android 12中,操作系统的更新可能会更容易
硬创早报:台积电将为索尼PS5释放更多7nm产能