一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

React、Preact和Inferno誰才是真正優(yōu)秀的JavaScript框架?

如意 ? 來源:讀芯術(shù)微信公眾號(hào) ? 作者:讀芯術(shù)微信公眾號(hào) ? 2020-10-13 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

JavaScript中有許多框架,且各有千秋。在過去的幾個(gè)月中,筆者一直在研究各種JavaScript框架及其差異。本文中,筆者將選擇三個(gè)框架,并討論構(gòu)建快速Web應(yīng)用程序的優(yōu)秀框架。

筆者選擇了React、Preact和Inferno,它們是非常有名的框架。本文將討論這些框架的功能(能夠開發(fā)快速的Web應(yīng)用程序)、優(yōu)缺點(diǎn)、統(tǒng)計(jì)數(shù)據(jù)以及其他一些有趣的特點(diǎn),這些特點(diǎn)將幫助你為項(xiàng)目選擇優(yōu)秀的框架。

Preact

Preact聲稱是最輕量級(jí)的框架之一,大小為3kB。體積小并沒有限制其性能。它被認(rèn)為是一個(gè)非常強(qiáng)大的框架,并且是React的有力競爭對(duì)手。

將Preact與React進(jìn)行比較時(shí),可以發(fā)現(xiàn)它們之間存在一些相似之處。但由于Preact的功能主要基于速度和性能,因此它們還有更多重要的區(qū)別。以下是Preact的一些主要功能,這些功能使其比React更快:

首先,Precat壓縮后大小約為3Kb。React壓縮后約為42KB。

盡管React擁有自己的綜合事件系統(tǒng),該系統(tǒng)具有多種優(yōu)點(diǎn),但卻被認(rèn)為非常繁重。Preact僅使用DOM API來實(shí)現(xiàn)合成事件系統(tǒng)的功能。

Preact比React-lite(React的簡化版本)具有更多功能。

Preact明顯比React快。筆者發(fā)現(xiàn)了這個(gè)很棒的速度比較機(jī)制,該機(jī)制在GitHub站點(diǎn)上托管。它可以通過添加、完成和刪除100個(gè)項(xiàng)目來比較框架速度。因此,筆者從中進(jìn)行了基準(zhǔn)測(cè)試,結(jié)果表明Preact比React快四倍。

React、Preact和Inferno誰才是真正優(yōu)秀的JavaScript框架?

另外,如果熟悉React,與Preact一起使用會(huì)非常容易,因?yàn)樗cReact很大程度上兼容。除此之外,使用Preact還有幾個(gè)重要的優(yōu)點(diǎn):

它支持ES6 API(與React相同)。

強(qiáng)大的CLI支持快速的項(xiàng)目設(shè)置

包含React獨(dú)有的其他高級(jí)功能。

Preact處于迅速增長中,出現(xiàn)了許多示例、大量文檔、不斷增長的社區(qū)等。

盡管Preact包含許多功能,但也有一些缺點(diǎn)。但如果需要構(gòu)建基于性能的小型應(yīng)用程序,那么Preact仍然是比React更好的選擇。

Inferno

Inferno是另一個(gè)JavaScript UI庫,類似于React。與Preact相似,Inferno也使用與React相同的API構(gòu)建,但是Inferno的主要目的是變得快速、輕便。盡管Inferno基于React,但與React 和Preact相比,它包含一些重要的功能/差異:

與React相比,Inferno的體積非常小。壓縮后約為8KB,比Preact稍大。

Inferno不單獨(dú)包含DOM。Inferno的DOM內(nèi)置于其核心中。

Inferno-compact可以幫助您使用各種React庫。

Inferno在功能組件上使用生命周期方法。

由于本文主要基于比較速度和性能,因此來看一下Inferno自身提供的關(guān)于一些JS框架的基準(zhǔn)比較。

React、Preact和Inferno誰才是真正優(yōu)秀的JavaScript框架?

如圖所示,Inferno對(duì)于典型應(yīng)用程序操作的基準(zhǔn)值高于Preact和React的基準(zhǔn)值。它們幾乎與Vanilla JS相似。可以在GitHub上找到有關(guān)此基準(zhǔn)測(cè)試系統(tǒng)的更多詳細(xì)信息。以下是使用Inferno的其他一些優(yōu)點(diǎn):

速度極快。

比React、Angular和Vue更輕便。

Inferno包含其自己的服務(wù)器端渲染和路由功能。

可以將常規(guī)樣式屬性與Inferno樣式一起使用。

可以使用自己的體系結(jié)構(gòu)來構(gòu)建應(yīng)用程序,而不是將其限制于其他人的設(shè)計(jì)。

另一方面,它也存在一些明顯的缺點(diǎn)。由于與React相比,Inferno相對(duì)較新,因此其生態(tài)系統(tǒng)和社區(qū)仍在發(fā)展。從而需要大量時(shí)間來提供其他庫、支持等。

同樣,Inferno不對(duì)Hooks提供支持。盡管可以使用inferno-compact來使用React組件或包,但是這會(huì)使項(xiàng)目變慢并且變大。這樣Inferno的優(yōu)質(zhì)體驗(yàn)感會(huì)打折扣。

本文主要目的是比較React、Preact和Inferno框架的速度??梢钥吹?,Preact和Inferno的大多數(shù)功能基于React。但是在速度和性能方面,Preact居首位,而Inferno則位居第二。

因此,如果正在為需要閃電般性能的小型平臺(tái)尋找類似React的框架,Preact或Inferno將是理想選擇。但必須始終牢記, React是已經(jīng)幾乎取代了Angular的即成框架,因此無法將React與Preact或Inferno的功能完全匹配。

在功能和本機(jī)支持方面,React仍然位居榜首,而Preact和Inferno在速度方面具有優(yōu)勢(shì),根據(jù)項(xiàng)目選你所需即可。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1286

    瀏覽量

    71057
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    54627
  • reactjs
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4642
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    tscircuit - 電路開發(fā)的 React 范式? 用TypeScript、React和 AI工具構(gòu)建電子產(chǎn)品

    用 TypeScript、React 和 AI 工具構(gòu)建電子產(chǎn)品。
    的頭像 發(fā)表于 04-30 18:18 ?636次閱讀
    tscircuit - 電路開發(fā)的 <b class='flag-5'>React</b> 范式?   用TypeScript、<b class='flag-5'>React</b>和 AI工具構(gòu)建電子產(chǎn)品

    AnyDesk vs. Raspberry Pi Connect,才是“遠(yuǎn)程霸主”?

    在樹莓派的世界里,遠(yuǎn)程控制就像是一場魔法對(duì)決,而今天,我們的主角是兩位遠(yuǎn)程控制界的“魔法師”——AnyDesk和RaspberryPiConnect。它們都聲稱自己是遠(yuǎn)程控制的最佳選擇,那么,才是
    的頭像 發(fā)表于 03-25 09:24 ?316次閱讀
    AnyDesk vs. Raspberry Pi Connect,<b class='flag-5'>誰</b><b class='flag-5'>才是</b>“遠(yuǎn)程霸主”?

    JavaScript與Rust和WebAssembly集成

    偶然一次機(jī)會(huì),接觸了Rust的代碼。當(dāng)時(shí)想給團(tuán)隊(duì)小伙伴做演示,發(fā)現(xiàn)自己并不能在移動(dòng)端按照文檔生成演示demo。我就想,要是Rust代碼能轉(zhuǎn)化成JavaScript就好了。結(jié)果一搜,還真有。
    的頭像 發(fā)表于 01-24 15:43 ?414次閱讀
    <b class='flag-5'>JavaScript</b>與Rust和WebAssembly集成

    SciChart—高性能的JavaScript圖表和圖形庫

    使用 SciChart 的 JavaScript 圖表庫為您的 JS 應(yīng)用程序發(fā)現(xiàn)終極解決方案。 使用 WebGL 創(chuàng)建動(dòng)態(tài)、高速的圖表和圖形,非常適合實(shí)時(shí)處理復(fù)雜的數(shù)據(jù)可視化。使用我們強(qiáng)大而靈活
    的頭像 發(fā)表于 01-22 10:15 ?661次閱讀
    SciChart—高性能的<b class='flag-5'>JavaScript</b>圖表和圖形庫

    熱門前端框架:引領(lǐng)現(xiàn)代 Web 開發(fā)的潮流

    在當(dāng)今快速發(fā)展的前端開發(fā)領(lǐng)域,熱門前端框架React、Vue 和 Angular 等,成為了開發(fā)者構(gòu)建高效、高性能 Web 應(yīng)用的得力工具。它們各自具有獨(dú)特的特點(diǎn)和優(yōu)勢(shì),引領(lǐng)著現(xiàn)代 Web 開發(fā)
    的頭像 發(fā)表于 01-22 10:08 ?413次閱讀

    Spire.XLS for JavaScript——多功能JavaScript電子表格庫(一)

    文件。借助此工具,開發(fā)人員能夠高效地執(zhí)行各種 Excel 編程任務(wù),包括從模板生成新文檔、更新現(xiàn)有文檔或轉(zhuǎn)換文件格式。 Spire.XLS for JavaScript 與 Vue、React
    的頭像 發(fā)表于 01-21 09:29 ?470次閱讀
    Spire.XLS for <b class='flag-5'>JavaScript</b>——多功能<b class='flag-5'>JavaScript</b>電子表格庫(一)

    javascript:void(0) 是否影響SEO優(yōu)化

    使用 javascript:void(0) 確實(shí)可能對(duì)SEO優(yōu)化產(chǎn)生負(fù)面影響 。以下是關(guān)于 javascript:void(0) 對(duì)SEO影響的具體分析: 搜索引擎爬蟲的理解問題 搜索引擎爬蟲(如
    的頭像 發(fā)表于 12-31 16:08 ?530次閱讀

    javascript:void(0) 的作用是什么

    javascript:void(0) 在 HTML 和 JavaScript 中是一個(gè)常見的表達(dá)式,主要用來創(chuàng)建一個(gè)無操作的鏈接(通常是 標(biāo)簽)或者阻止默認(rèn)事件處理。具體來說,它的作用有以下幾點(diǎn)
    的頭像 發(fā)表于 12-31 15:55 ?2103次閱讀

    使用SSR構(gòu)建React應(yīng)用的步驟

    。 根據(jù)需要安裝用于服務(wù)器端的框架,如Express、Koa等。 安裝用于處理React服務(wù)器端渲染的庫,如 react-dom/server 。 二、服務(wù)器端渲染配置 設(shè)置服務(wù)
    的頭像 發(fā)表于 11-18 11:30 ?793次閱讀

    Taro鴻蒙技術(shù)內(nèi)幕系列(一):如何將React代碼跑在ArkUI上

    基于 Taro 打造的京東鴻蒙 APP 已跟隨鴻蒙 Next 系統(tǒng)公測(cè),本系列文章將深入解析 Taro 如何實(shí)現(xiàn)使用 React 開發(fā)高性能鴻蒙應(yīng)用的技術(shù)內(nèi)幕。
    的頭像 發(fā)表于 10-25 17:24 ?703次閱讀
    Taro鴻蒙技術(shù)內(nèi)幕系列(一):如何將<b class='flag-5'>React</b>代碼跑在ArkUI上

    bootstrap框架和vue框架的區(qū)別

    Bootstrap和Vue都是目前非常流行的前端開發(fā)框架,它們各自具有獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。 設(shè)計(jì)理念 Bootstrap是一個(gè)基于HTML、CSS和JavaScript的前端開發(fā)框架,主要用于快速構(gòu)建
    的頭像 發(fā)表于 07-11 09:55 ?1411次閱讀

    bootstrap框架介紹

    Bootstrap是一個(gè)流行的前端框架,它提供了一套響應(yīng)式、移動(dòng)優(yōu)先的CSS和JavaScript組件,可以幫助開發(fā)者快速構(gòu)建美觀、功能豐富的網(wǎng)頁。 一、Bootstrap簡介 1.1
    的頭像 發(fā)表于 07-11 09:53 ?1056次閱讀

    bootstrap框架用什么軟件開發(fā)

    Bootstrap是一個(gè)流行的前端框架,用于快速開發(fā)響應(yīng)式和移動(dòng)優(yōu)先的Web應(yīng)用程序。它提供了一套預(yù)定義的CSS和JavaScript組件,使得開發(fā)者可以快速構(gòu)建出漂亮的用戶界面
    的頭像 發(fā)表于 07-11 09:50 ?796次閱讀

    鴻蒙語言基礎(chǔ)類庫:ohos.convertxml xml轉(zhuǎn)換JavaScript

    轉(zhuǎn)換xml文本為JavaScript對(duì)象。
    的頭像 發(fā)表于 07-08 15:54 ?726次閱讀
    鴻蒙語言基礎(chǔ)類庫:ohos.convertxml  xml轉(zhuǎn)換<b class='flag-5'>JavaScript</b>