
作者 | Olivia Cuthbert
譯者 | Sambodhi
策劃 | 劉燕
據 Stackoverflow 的 2021 年開發者調查,JavaScript 已連續第八年成為使用最多的語言,有 67.7% 的受訪者選擇它。之是以如此受歡迎,主要是因為 JavaScript 是通用的,可以用于前端和後端開發和測試網站或 Web 應用程式。
使用谷歌搜尋“JavaScript framework”,你會發現有很多 JavaScript 架構,它們各有優點,各有用途。由于有如此多的 JavaScript 架構可供選擇,可以用于前端、後端開發,甚至測試,是以,要選擇合适你需求的架構,可能會是一個挑戰。
可能很難找到一個适合你需求的适當架構。本文介紹了 2021 年最佳 JavaScript 架構,我用 StateOfJS 2019、Stackoverflow 開發者調查 2021 和 NPM 趨勢,編制了一份用于前端、後端和測試的最佳 JavaScript 架構榜單,可以幫助你解決這個問題。(本文是前端篇)
前端 JavaScript 架構
JavaScript 在前端開發中已經廣泛使用了将近二十年。像 React、Vue 和 Angular 這樣的知名架構已經吸引了大量的追随者,而最近,一些新的競争者成功地挑戰了這三大架構。2021 年最優秀的五大前端架構如下:
1. React.js
在我們編制的 2021 年最佳 JavaScript 架構的榜單中,前端類排名第一是 React.js。React.js 是一個開源的前端 JavaScript 庫(并非一個成熟的架構),由 Jordan Walke 上司的 Facebook 開發團隊于 2011 年建立,并于 2013 年 6 月開源。它的原型名為“FaxJS”,在 Facebook 消息來源(News Feed)上進行了首次測試。可以說,React 是網絡開發行業中最大的颠覆者之一,也是塑造我們今天所看到的網絡應用的一個重大突破。
React 引入了一種元件驅動、函數式和聲明式的程式設計風格,為主要是單頁 Web 應用建立互動式使用者界面。通過“虛拟 DOM”,React 提供了非常快的渲染速度,隻需渲染發生變化的部分,而不用渲染整個頁面。React 的另一個基本特點是使用更簡單的 JSX 文法,而不是 JavaScript。
盡管學習 React 比這個榜單中其他架構要複雜一些,但是 React 擁有一個龐大的開發者社群、豐富的學習資源,并被世界各地廣泛采用。
不管是 Stack Overflow 開發者調查,還是 State of JS 調查,在前端 JavaScript 架構榜單中,React 始終名列前茅,一直是最受歡迎的前端 JavaScript 架構。Airbnb、Facebook、Instagram、Netflix、Twitter、WhatsApp 等全球最大的公司和品牌都使用 React 建構。如果認為 React.js 可以說是最好的 JavaScript 架構,那這一說法不會有錯。
2. Vue.js
Vue.js 是一種輕量級、開源的 JavaScript 架構,用最小的努力來建構創造性的使用者界面和高性能單頁 Web 應用。
Evan Yu 在 2014 年首次釋出了 Vue,他是一名谷歌開發者,從 Angular 中獲得了靈感,以 Vue.js 的形式提供了一個簡單、輕量級、高效的替代方案。Vue 從 React 和 Angular 獲得了許多特性,但是這些特性已經得到了大幅改進,進而提供了一個更好、更易用、更安全的架構。Vue 就是這種方法的最佳例子,它提供了 Angular 所見的雙向資料綁定,以及 React 所見的“虛拟 DOM”。
同樣,Vue 也非常靈活,使其能夠像 Angular 那樣作為一個完整的端到端架構,也可以像 React 那樣作為一個有狀态的視圖層。是以,Vue 的主要優勢在于它的漸進式性質,它更簡單,更容易上手,并且不會做太多限制來滿足開發者的需求。Vue 在過去兩年中迅速流行起來,取代了 Angular 和 React 複雜的統治地位,成為最好的 JavaScript 架構。有些全球最大的公司,比如 Adobe、蘋果、寶馬、路易威登和任天堂都采用了 Vue。
3. Angular
Angular.js 在 2021 年最佳 JavaScript 架構榜單的前端類中名列第三,它是谷歌開源、基于腳本的架構,用于建立單頁 Web 應用的用戶端。Angular 是由谷歌工程師 Misko Hevery 和 Adam Abrons 在 2010 年建立的,名為 AngularJS(或 Angular 1)。AngularJS 曾廣為人知,也曾最受歡迎,但 React 的出現暴露了它嚴重的缺陷,後來被人們遺忘了。是以,在 2016 年,AngularJS 完全從零開始重寫,并更名為 Angular 2(或簡稱 Angular)。
AngularJS(Angular 1)的靈感來自 React。它們有了很大的變化,最重要的變化就是從 MVW(Model-View-Whatever)架構轉變為類似 React 的面向元件的架構。如今,Angular 已經成為建構企業應用最安全的 JavaScript 架構典範;超過 100 萬的網站都在使用 Angular,包括谷歌、福布斯、IBM 和微軟。
4. Emberjs
在 2021 年最佳 JavaScript 架構榜單中,前端類的第四名是 Ember.js。它是一個開源的 JavaScript 架構。Ember 不像我們提到的其他架構,它使用的是 MVVM(Model-View-ViewModel)架構。
Ember 最初是一個 SproutCore 2.0 架構,被 Yehuda Katz 重新命名為 Ember.js,他是一名資深開發者,被認為是 jQuery 的主要創造者之一。Ember 最流行、最基本的功能就是 Ember 指令行界面,其自身功能非常強大,是一個強大的生産力工具。
與 React、Vue 和 Svelte 相比,Ember 是較早的 JavaScript 架構之一,但它在微軟、領英、Netflix 和 Twitch 等大公司仍然有巨大的使用者基礎。它的客戶群裡有很多使用者。像 Backbone 和 Polymer 這樣的老朋友已經消失了,但 Amber 仍能在一個充滿激情的社群中,繼續堅守下去。
5. Preact.js
在我們的 2021 年最佳 JavaScript 架構榜單中,Preact.js 在前端類排名第五。它是 React 的輕量級、快速且功能強大的替代方案(它并非一個完整的架構)。谷歌進階開發項目工程師 Jason Miller 建立了 Preact,并被一些開發者用作 React 的子集,同時還删除了部分特性。
Preact.js 的基本原則與 React 相同,是一種使用虛拟 DOM 的基于元件的方法,同時與 React 完全相容。
你還可以使用 React 包,而不會影響速度、性能和精簡。如果你不需要 React 的全部潛力,大多數開發者将在開發過程中使用 Preact,甚至在生産中切換到 Preact。使用 Preact 的大公司有很多,包括騰訊、Uber 和 Lyft。
總結
本文這個榜單所列的這些架構,遠遠不是 JavaScript 前端開發所需的全部架構,但是它們構成了目前所使用的此類架構的主體。随着 JavaScript 功能(通過 ECMAscript 過程)的不斷發展,架構功能向核心遷移的可能性也在增加。
作者介紹:
Olivia Cuthbert,印度人,技術作家,數字營銷人員。供職于 Pixel Crayons,内容主管。對資料科學、機器學習、資料可視化、知識圖譜、資料庫等有着濃厚的興趣。
原文連結:
https://www.datasciencecentral.com/profiles/blogs/best-javascript-frameworks-for-2021