<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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相似??梢栽贕itHub上找到有關此基準測試系統的更多詳細信息。以下是使用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

    文章

    1241

    瀏覽量

    68668
  • javascript
    +關注

    關注

    0

    文章

    513

    瀏覽量

    53475
  • reactjs
    +關注

    關注

    0

    文章

    4

    瀏覽量

    4454
收藏 人收藏

    評論

    相關推薦

    javascript屬于前端嗎

    JavaScript是一種高級編程語言,通常用于網頁開發。它是一種腳本語言,可用于在網頁上動態交互,提供更好的用戶體驗。JavaScript是一種廣泛使用的技術,幾乎所有現代網頁都使用它來實現交互性
    的頭像 發表于 12-03 11:43 ?867次閱讀

    JavaScript的語法和基本功能

    JavaScript(簡稱JS)是一種常用的腳本編程語言,廣泛應用于網頁開發、移動應用開發等領域。正式的JS標準由Ecma國際組織制定并維護,最新的ECMAScript標準定義了JavaScript
    的頭像 發表于 12-03 11:15 ?355次閱讀

    怎樣開啟javascript功能

    JavaScript是一種客戶端腳本語言,它可以在網頁中實現動態交互和功能增強。在現代網頁開發中,幾乎所有的瀏覽器都支持JavaScript,因此,開啟JavaScript功能是很簡單的。 要開啟
    的頭像 發表于 12-03 11:13 ?1357次閱讀

    JavaScript的用途和功能

    JavaScript是一種廣泛使用的腳本語言,用于為網站添加動態功能和交互性。從創建簡單的交互式表單到設計復雜的網頁游戲,JavaScript為開發者提供了豐富的功能和靈活的創作能力。它在現代的網頁
    的頭像 發表于 12-03 11:12 ?504次閱讀

    javascript指什么

    JavaScript是一種高級編程語言,通常用于為網頁添加交互功能。它是一種面向對象的語言,旨在通過編寫代碼來控制網頁的行為,使用戶能夠與網頁進行動態交互。JavaScript能夠與HTML和CSS
    的頭像 發表于 12-03 11:11 ?447次閱讀

    javascript運行環境有哪些

    JavaScript 是一種廣泛應用于網頁開發的編程語言,它可以在不同的運行環境下運行。以下是一些常見的 JavaScript 運行環境: 瀏覽器環境: 瀏覽器是最常見的 JavaScript 運行
    的頭像 發表于 11-27 16:11 ?1590次閱讀

    javascript:;怎么解決

    javascript:” 是一個JavaScript偽協議,它通常出現在URL地址欄或鏈接中,用于執行JavaScript代碼。然而,有時它可能會導致一些問題,特別是在一些不支持
    的頭像 發表于 11-26 14:39 ?2827次閱讀

    瀏覽器怎么打開javascript

    瀏覽器是一種用于瀏覽和訪問互聯網頁面的應用程序,而JavaScript是一種常用的網頁編程語言,用于給網頁添加交互和動態效果。本文將詳細探討如何在瀏覽器中打開JavaScript,并解釋
    的頭像 發表于 11-26 11:25 ?1298次閱讀

    OpenHarmony之NAPI框架介紹

    的 NAPI OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)應用層基于 javascript 語言開發,而系統框架層則基于 C++語言。它們之間需要一個橋梁來實現兩種語言代碼之間
    發表于 11-23 15:36

    javascript深入淺出

    JavaScript是一種廣泛使用的編程語言,常用于Web開發。下面是對JavaScript的深入淺出的解釋: JavaScript簡介 JavaScript是一種解釋型、動態類型、基
    的頭像 發表于 11-16 10:34 ?390次閱讀

    javascript可以關閉嗎

    **JavaScript是一種編程語言,它不能被“關閉”。**JavaScript是一種客戶端腳本語言,它通常嵌入在HTML頁面中。當用戶訪問一個包含JavaScript的網頁時,瀏覽器會執行這些
    的頭像 發表于 11-16 10:20 ?624次閱讀

    javascript有什么用

    JavaScript是一種廣泛使用的編程語言,主要用于增強網頁和創建動態網頁內容。以下是JavaScript的一些主要用途: 交互性:JavaScript可以使網頁具有交互性。例如,當用戶點擊按鈕
    的頭像 發表于 11-16 10:19 ?497次閱讀

    javascript怎么開啟

    在瀏覽器中啟用 JavaScript 的方法如下: 在瀏覽器中啟用 JavaScript 對于大多數瀏覽器,您可以在瀏覽器的設置或選項中啟用 JavaScript。以下是一些常見瀏覽器的啟用步驟
    的頭像 發表于 11-16 10:16 ?1080次閱讀

    前端框架的Signals有何優勢?

    這在 React 中是不可能做到的,React 是基于視圖驅動的,狀態改變會重新執行整個渲染函數,并且 React 完全無法識別狀態是如何被使用的,開發者甚至可以通過下面的代碼來實現 Reac
    的頭像 發表于 10-11 11:04 ?411次閱讀

    React正在經歷Angular.js的時刻嗎?

    文章指出,React 的核心仍然是一個視圖庫,這一點沒有改變:使用 React 服務器組件,您仍然可以使用 JSX 構建組件,并渲染作為 props 傳遞的動態內容。但是,除此之外,服務器組件
    的頭像 發表于 07-17 16:27 ?270次閱讀
    <b class='flag-5'>React</b>正在經歷Angular.js的時刻嗎?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>