1. 程式人生 > 實用技巧 >React、Preact還是Inferno?哪個是用於快速應用程式的最佳JS框架

React、Preact還是Inferno?哪個是用於快速應用程式的最佳JS框架

全文共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,加入讀者圈,一起討論最新鮮的人工智慧科技哦~)