成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2020 前端框架測評總結

開發 前端
本文絕對不是一篇教你如何選擇下一個前端框架的文章。文章從性能、大小、非常相似的應用程序的代碼行這三個方面進行了比較。

作為一名前端開發人員,持續學習是必備的技能之一。隨著新技術的不斷涌現,前端開發框架越來越多,各種框架現、版本的更新此起彼伏。

前端領域的技術不斷更迭,讓人眼花繚亂。面對這么多框架,我們應該如何選擇?為此,前端開發工程師 Jacek Schae 寫了一篇博文,對目前比較熱門的前端框架進行了總結和測評。以下便是他的全文。

首先聲明,本文絕對不是一篇教你如何選擇下一個前端框架的文章。文章從性能、大小、非常相似的應用程序的代碼行這三個方面進行了比較。

考慮到這一點,以下是本文遵守的原則:

  • 我們正在比較現實世界中的應用程序,不僅僅是一個“待開發”的應用程序。后者通常不能傳達足夠的知識和觀點來實際構建應用程序。
  • 它在某種程度上是標準化的,符合特定規則的項目,有自己的規范,提供后端 API、靜態標記和樣式。
  • 由專家編寫或審查的一致的、現實世界的項目。

我們在比較哪些庫/框架?

在撰寫本文時,RealWorld repo 中有 24 個管道實現。關注者多少并不重要,只要它是出現在 RealWorld repo 頁面上就可以。

我們看什么指標?

性能:此應用程序需要多長時間才能顯示內容并變得可用?

大小:應用程序有多大?我們只比較編譯后的 JavaScript 文件的大小。HTML 和 CSS 對所有變體都是通用的,可以從 CDN(內容交付網絡)下載。所有技術都編譯或轉換成 JavaScript,因此我們只調整這個文件的大小。

代碼行:作者需要多少行代碼來創建基于spec 的 RealWorld 應用程序?公平地說,一些應用程序有更多華麗的點綴,但它不應該有重大影響。我們量化的唯一文件夾是每個應用程序中的 src/。不管它是不是自動生成的,你都需要維護它。

指標 1:性能

我們將檢查與 Chrome 一起發布的 Lighthouse Audit 的性能分數。Lighthouse 將返回一個 0 到 100 之間的性能分數。0 是可能獲得的最低分數。更多細節請查看 Lighthouse 評分指南。

測試設置 

所有測試應用的 Lighthouse 測試設置

理論基礎

內容繪制越快,用戶就能更早開始做事情,使用這款應用的體驗就越好。 

性能(評分 0-100 分,分數越高越好)

注意:由于缺少演示應用程序,PureScript 被跳過。

結論

Lighthouse Audit 不停止。你可以看到,今年沒有維護、更新的應用程序正在跌落到 90 分以下。如果你的應用程序得分大于 90,可能并不會有太大的不同。也就是說 AppRun、Elm、Svelte 真的令人印象深刻。

指標 2:大小

傳輸大小來自 Chrome 網絡選項卡。GZIPed 響應頭加上服務器傳遞的響應體。

這里的表現取決于框架的大小以及添加的額外依賴項。另外,構建工具如何從包中消除未使用的代碼也會有影響。

理論基礎

文件越小,下載越快,解析也越少。 


傳輸大小(KB)越少越好

由于缺少演示應用程序,PureScript 被跳過。

Angular+ngrx+nx:檢查 Chrome 開發工具網絡選項卡,如果我計算錯誤,請告訴我。

Rust+Yew+WebAssembly 還包括 .wasm 文件

結論

Svelte 和 Stencil 社區的驚人工作,使它小于 20KB,這真的很了不起。

指標 3:代碼行

使用 cloc,我們計算每個 repo 的 src 文件夾中的代碼行數。空白行和注釋行不屬于此計算的一部分。這么做到底有什么意義?

  • 如果調試是消除軟件錯誤的過程,那么編程必須是一個產生錯誤的過程

——Edsger Dijkstra

理論基礎

這展示了給定的庫、框架、語言的簡潔性。根據規范,如果是你自己來寫,需要多少行代碼來實現幾乎相同的應用程序? 

代碼行,越少越好

Svelte 是在最初發布后添加的——多虧了 Svelte master。

由于 cloc 無法處理 .riot 文件,已跳過 riotjs-effector-universal-hot 。

Angular+ngrx:LoC 計算只使用 /libs 文件夾來完成,包括 .ts 和 .html 文件。如果你認為這是錯誤的,請告訴我你是如何計算的。

結論

只有帶 re frame 的 Imba 和 ClojureScript 才能在 1000LoC 下實現應用。Clojure 以其非凡的表現力而聞名。而 Imba 是第一次出現在這里。如果你在乎 LoC,你知道該做什么。

總結

請記住,這并不是一個完全統一標準的比較。有些實現使用代碼拆分,有些則不使用,有些在 GitHub 托管,有些在 Now 托管,有些在 Netlify 托管。如果你想知道哪一個是最好,試著自己比較一下吧。

常見問題解答

1.為什么框架 X、Y 和 Z 不包括在這個比較中?

因為 RealWorld repo 沒有完成實現。在你最喜歡的庫/框架中實現該解決方案,我們下次將包括它!

2.你為什么稱之為 RealWorld?

因為它不僅僅是一個待辦的應用程序。在 RealWorld 中,我們并不是要比較工資、維護、生產率、學習曲線等。還有其他的調查可以回答這些問題。我們所說的 RealWorld 是指一個連接到服務器、驗證并允許用戶 CRUD 的應用程序,就像一個真實的應用程序所做的那樣。

3.為什么沒有包括我最喜歡的框架?

請參閱上面的第一個問題:因為 RealWorld repo 沒有完成實現。這是社區努力的成果。如果你想在比較中看到你的框架,可以考慮貢獻。

4.這里面包含了哪個版本的庫/框架?

這里包含了 2020 年 3 月提供的版本,信息來自 RealWorld repo。你可以從 GitHub repo 中找到這一點。

5.為什么你忘了在比較中包含一個比這個更受歡迎的框架?

RealWorld repo 的實現并不完整,它很簡單。

本文轉自雷鋒網,如需轉載請至雷鋒網官網申請授權。

 

責任編輯:未麗燕 來源: 雷鋒網
相關推薦

2020-03-25 13:59:22

前端開發編程

2009-07-17 13:45:39

Jython性能測評

2020-04-12 22:18:40

前端開發Realworld

2013-02-26 10:11:36

前端開發Web

2022-03-02 17:12:57

序列化框架測評

2020-03-31 14:16:25

前端性能優化HTTP

2015-12-24 10:13:29

JavaExecutor框架

2015-11-06 10:26:53

JavaExecutor框架

2013-10-24 10:40:23

前端框架

2023-02-20 08:41:08

SignaluseState()

2024-01-06 17:53:11

前端框架方案

2020-08-28 17:54:31

深度學習框架

2023-01-04 15:24:46

ACE組件UI布局

2023-08-14 23:45:55

2012-03-12 15:36:29

Java框架

2012-07-27 10:01:30

前端框架前端工具

2024-01-05 07:43:04

2024-04-08 00:00:00

前端框架React

2023-02-24 07:29:59

Signal前端框架

2019-07-17 22:07:14

前端開發框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩色在线| 国产羞羞视频在线观看 | 国产专区在线 | 国产高清区 | 在线综合视频 | 韩日在线观看视频 | 亚洲国产成人av好男人在线观看 | 欧美在线色视频 | 成人一区二区在线 | 欧美中文字幕在线 | 欧美午夜精品理论片a级按摩 | 一区二区三区影院 | 久久久久无码国产精品一区 | 日韩欧美综合 | 91精品国产欧美一区二区成人 | 久久69精品久久久久久久电影好 | 欧美在线一区二区三区 | 男人影音 | 国产农村妇女精品一二区 | 国产日韩精品一区二区 | 天天综合国产 | 日本精品视频在线 | 国产精品久久久久不卡 | www97影院 | 午夜精品在线 | 国内精品视频免费观看 | 麻豆一区二区三区精品视频 | 国产一区二区三区视频免费观看 | 91视频精选 | 操网站| 综合久久久 | 亚洲视频在线播放 | 人人九九 | 一区二区三区免费 | 99久久久无码国产精品 | 国产片一区二区三区 | 国产精品久久久久久 | 精品中文字幕视频 | 久久看精品 | 欧美极品视频在线观看 | 夜夜av|