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

Angular vs React vs Vue:2021 年,應(yīng)該選擇哪個(gè)框架

開(kāi)發(fā) 架構(gòu)
如果您是一名剛開(kāi)始從事某個(gè)項(xiàng)目的開(kāi)發(fā)人員并且無(wú)法決定使用哪個(gè) JavaScript 框架,那么本指南應(yīng)該可以幫助您做出決定。

這篇文章是一份綜合指南,可能是適合您的解決方案:Angular vs React vs Vue。

就在幾年前,開(kāi)發(fā)人員還在爭(zhēng)論他們是否應(yīng)該在他們的項(xiàng)目中使用 Angular 和 React。但是在過(guò)去的幾年中,我們看到了對(duì) Vue.js 的第三個(gè)玩家的興趣增長(zhǎng)。

如果您是一名剛開(kāi)始從事某個(gè)項(xiàng)目的開(kāi)發(fā)人員并且無(wú)法決定使用哪個(gè) JavaScript 框架,那么本指南應(yīng)該可以幫助您做出決定。

[[417628]]

在這里,我們將涵蓋 Angular、Vue 和 React 的各個(gè)方面,以了解它們?nèi)绾螡M足您的需求。這篇文章不僅僅是 Angular vs React vs Vue 的指南,而是旨在提供一個(gè)結(jié)構(gòu)來(lái)幫助判斷前端 JavaScript 框架的總體情況。如果明年有新框架問(wèn)世,您將確切知道要查看哪些參數(shù)!

讓我們開(kāi)始吧:

第 1 部分:Vue 與 React 與 Angular 的簡(jiǎn)史

在我們進(jìn)入技術(shù)細(xì)節(jié)之前,讓我們先談?wù)勥@些框架背后的歷史——只是為了更好地理解它們的哲學(xué)和它們隨著時(shí)間的推移而演變。

(1) 一切是如何開(kāi)始的

由谷歌開(kāi)發(fā)的Angular于 2010 年首次發(fā)布,使其成為最古老的。它是一個(gè)基于 TypeScript 的 JavaScript 框架。 2016 年 Angular 2 的發(fā)布發(fā)生了重大轉(zhuǎn)變(并且從原來(lái)的名稱 AngularJS 中刪除了“JS”)。 Angular 2+ 被稱為Angular。盡管 AngularJS(版本 1)仍在更新,但我們將重點(diǎn)討論 Angular。最新的穩(wěn)定版本是 Angular 11,它于 2020 年 11 月發(fā)布。

Vue也稱為 Vue.js,是該組中最年輕的成員。它由前 Google 員工 Evan You 在 2014 年開(kāi)發(fā)。在過(guò)去三年中,Vue 的受歡迎程度發(fā)生了重大變化,盡管它沒(méi)有得到大公司的支持。當(dāng)前的穩(wěn)定版本是 3.0,于 2020 年 9 月發(fā)布(此后有一些小的增量版本)。Vue 的貢獻(xiàn)者由 Patreon 支持。應(yīng)該注意的是,Vue 3 目前在它自己的 GitHub 存儲(chǔ)庫(kù)中,并且已經(jīng)轉(zhuǎn)移到 TypeScript。

React由 Facebook 開(kāi)發(fā),最初于 2013 年發(fā)布。Facebook 在其產(chǎn)品(Facebook、Instagram 和 WhatsApp)中廣泛使用 React。當(dāng)前的穩(wěn)定版本是 17.X,于 2020 年 10 月發(fā)布(此后有較小的增量更新)

以下是 Angular、React 和 Vue 的簡(jiǎn)短總結(jié),包括它們的狀態(tài)和歷史:

(2) 許可證

在使用開(kāi)源框架之前,請(qǐng)確保通過(guò)其許可。有趣的是,所有三個(gè)框架都使用MIT 許可證,它對(duì)重用提供了有限的限制,即使在專有軟件中也是如此。在使用任何框架或軟件之前,請(qǐng)確保您了解許可證的含義。

(3) 人氣

由于“angular”和“react”是常用詞,因此很難從谷歌趨勢(shì)中掌握它們的流行程度。盡管如此,他們受歡迎程度的一個(gè)很好的指標(biāo)是他們的 GitHub 代碼庫(kù)獲得的星數(shù)。2016 年年中,Vue 的星數(shù)突然發(fā)生了變化,最近,Vue 與 React 一起成為最受歡迎的框架之一。

Angular、React 和 Vue 的 GitHub 項(xiàng)目上的星數(shù)

讓我們檢查一下 Angular、React 和 Vue 的就業(yè)市場(chǎng)情況,這也是衡量受歡迎程度的一個(gè)很好的衡量標(biāo)準(zhǔn):

(4) Angular vs React vs Vue 的就業(yè)市場(chǎng)

表明就業(yè)市場(chǎng)趨勢(shì)的最佳數(shù)據(jù)來(lái)源是各種就業(yè)委員會(huì)。

從 2018 年底的趨勢(shì)來(lái)看,需要 Angular 或 React 技能的工作數(shù)量大致相同,而 Vue 的數(shù)量仍然只是這個(gè)數(shù)字的一​小部分(大約 20%)。

如果您想獲得更多最新的分析,您可以試試Google Trends 搜索,它分解了過(guò)去 12 個(gè)月React 工作、Angular 工作和Vue 工作的搜索趨勢(shì)。數(shù)據(jù)嵌入如下:

如果您想查看您所在地區(qū)的求職趨勢(shì),Google 趨勢(shì)還會(huì)按地理位置對(duì)其進(jìn)行細(xì)分。

如果您嚴(yán)格從當(dāng)前就業(yè)市場(chǎng)的角度來(lái)看,最好的選擇是學(xué)習(xí) Angular 或 React。但是,鑒于 Vue 在過(guò)去三年中越來(lái)越受歡迎,使用 Vue 的項(xiàng)目或采用 Vue 的新項(xiàng)目可能需要一些時(shí)間才能達(dá)到要求更多開(kāi)發(fā)人員的成熟度。

第 2 部分:社區(qū)與發(fā)展

現(xiàn)在您已經(jīng)熟悉了每個(gè)框架的歷史和近期趨勢(shì),我們將通過(guò)社區(qū)來(lái)評(píng)估這些框架的發(fā)展。我們已經(jīng)看到,對(duì)于所有框架,過(guò)去一年都定期發(fā)布增量版本,這表明開(kāi)發(fā)正在全面展開(kāi)。

讓我們看看 Angular、React 和 Vue 的 GitHub 代碼庫(kù)統(tǒng)計(jì)數(shù)據(jù)(并注意 Vue 數(shù)字還包括單獨(dú)的 Vue 3.0 存儲(chǔ)庫(kù)):

在比較 Vue 與 React 時(shí),Vue 擁有大量的觀察者、Star和Fork。這顯示了 Vue 在用戶中的受歡迎程度及其與 React 相比的價(jià)值。但是,Vue 的貢獻(xiàn)者數(shù)量低于 Angular 和 React。

一種可能的解釋是Vue 完全由開(kāi)源社區(qū)驅(qū)動(dòng),而 Angular 和 React 有很大一部分 Google 和 Facebook 員工為存儲(chǔ)庫(kù)做出貢獻(xiàn)。

從統(tǒng)計(jì)數(shù)據(jù)來(lái)看,這三個(gè)項(xiàng)目都表現(xiàn)出顯著的開(kāi)發(fā)活動(dòng),而且未來(lái)肯定會(huì)繼續(xù)——只是這些統(tǒng)計(jì)數(shù)據(jù)不能成為決定不使用其中任何一個(gè)的基礎(chǔ)。

您需要考慮的另一個(gè)指標(biāo)是 GitHub 的“Used By”標(biāo)志,它需要由存儲(chǔ)庫(kù)作者啟用。這顯示了 GitHub 上有多少其他存儲(chǔ)庫(kù)依賴于該存儲(chǔ)庫(kù)。Angular 的 GitHub 存儲(chǔ)庫(kù)顯示有 170 萬(wàn)用戶,React 目前顯示近 570 萬(wàn)用戶,而 Vue 顯示其兩個(gè)存儲(chǔ)庫(kù)的總和超過(guò) 167,000。三個(gè)框架之間存在很大差異,但這主要是因?yàn)?Vue 是較新的框架,并且不能說(shuō)明整體需求的全貌。

第 3 部分:遷移

當(dāng)您使用您選擇的框架時(shí),您不必?fù)?dān)心框架更新會(huì)出現(xiàn)并弄亂您的代碼。盡管在大多數(shù)情況下,從一個(gè)版本到另一個(gè)版本,您不會(huì)遇到很多問(wèn)題,但重要的是要隨時(shí)掌握脈搏,因?yàn)槟承└驴赡芨匾⑶倚枰M(jìn)行調(diào)整以保持兼容性。

Angular計(jì)劃每六個(gè)月進(jìn)行一次重大更新。在任何主要 API 被棄用之前還有六個(gè)月的時(shí)間,這讓您有兩個(gè)發(fā)布周期(一年)的時(shí)間來(lái)進(jìn)行必要的更改(如果有的話)。

當(dāng)談到 Angular 與 React 時(shí),F(xiàn)acebook 表示穩(wěn)定性對(duì)他們來(lái)說(shuō)至關(guān)重要,因?yàn)?Twitter 和 Airbnb 等大公司都在使用 React。通過(guò)版本升級(jí)通常是 React 中最簡(jiǎn)單的,使用react-codemod 之類的腳本可以幫助您進(jìn)行遷移。

在 Vue 3 文檔的遷移部分,Vue 提到Vue 2 和 Vue 3 之間有很多相同之處,而如果您從 1.x 遷移到 2,則90% 的 API 是相同的。有一個(gè)Vue 2 到 Vue 1 遷移輔助工具可在控制臺(tái)上運(yùn)行以評(píng)估您的應(yīng)用程序的狀態(tài)。

第 4 部分:使用 Vue、Angular 和 React

這里有一些重要的特征需要查看,主要是整體大小和加載時(shí)間、可用組件和學(xué)習(xí)曲線。

(1) 大小和加載時(shí)間

庫(kù)的大小不會(huì)成為一個(gè)重要的因素,因?yàn)榫彺婧涂s小現(xiàn)在是非常標(biāo)準(zhǔn)的。盡管框架的大小之間可能存在顯著差異(例如 Angular 是最大的),但與平均網(wǎng)頁(yè)大小(根據(jù)最新數(shù)據(jù)約為 2MB)相比,它們?nèi)匀缓苄 4送猓绻褂昧餍械? CDN加載這些庫(kù),則用戶很可能已將庫(kù)加載到其本地系統(tǒng)中。

(2) 組件

組件是所有三個(gè)框架的組成部分,無(wú)論我們是在談?wù)揤ue、React還是 Angular。組件通常會(huì)獲得一個(gè)輸入,并根據(jù)它改變行為。此行為更改通常表現(xiàn)為頁(yè)面某些部分的 UI 更改。組件的使用使得代碼的重用變得容易。組件可能是電子商務(wù)網(wǎng)站上的購(gòu)物車或社交網(wǎng)絡(luò)上的登錄框。

  • Angular:在 Angular 中,組件被稱為指令。指令只是 DOM 元素上的標(biāo)記,Angular 也可以跟蹤和附加特定的行為。因此,Angular 將組件的 UI 部分分離為 HTML 標(biāo)簽的屬性,并將它們的行為以 JavaScript 代碼的形式分離。在查看 Angular 與 React 時(shí),這就是它與眾不同的地方。
  • React:有趣的是,React 結(jié)合了組件的 UI 和行為。例如,這里是 在 React 中創(chuàng)建 hello world 組件的代碼。在 React 中,代碼的同一部分負(fù)責(zé)創(chuàng)建 UI 元素并決定其行為。
  • Vue:在查看 Vue 與 React 時(shí),在 Vue 中,UI 和行為也是組件的一部分,這讓事情變得更加直觀。此外,Vue 是高度可定制的,它允許您從腳本中組合 UI 和組件的行為。此外,您還可以 在 Vue 中使用預(yù)處理器而不是 CSS,這是一個(gè)很棒的功能。Vue 在與其他庫(kù)(例如 Bootstrap )集成方面非常出色 。

(3) 學(xué)習(xí)曲線

那么學(xué)習(xí)這些框架有多難?

  • Angular:Angular有一個(gè)陡峭的學(xué)習(xí)曲線,因?yàn)樗且粋€(gè)完整的解決方案,掌握 Angular 需要你學(xué)習(xí)相關(guān)的概念,如 TypeScript 和 MVC。盡管學(xué)習(xí) Angular 需要時(shí)間,但在了解前端的工作原理方面,投資會(huì)帶來(lái)回報(bào)。
  • Reaact:React 提供了一份入門(mén)指南,應(yīng)該可以幫助人們?cè)诖蠹s一個(gè)小時(shí)內(nèi)設(shè)置 React。該文檔詳盡而完整,并提供了 Stack Overflow 上已經(jīng)存在的常見(jiàn)問(wèn)題的解決方案。React 不是一個(gè)完整的框架,高級(jí)功能需要使用第三方庫(kù)。這使得核心框架的學(xué)習(xí)曲線不那么陡峭,而是取決于您采用附加功能的路徑。但是,學(xué)習(xí)使用 React 并不一定意味著您正在使用最佳實(shí)踐。
  • Vue:Vue提供了更高的可定制性,因此比 Angular 或 React 更容易學(xué)習(xí)。此外,Vue 與 Angular 和 React 在它們的功能(例如組件的使用)方面存在重疊。因此,從兩者中的任何一個(gè)過(guò)渡到 Vue 都是一個(gè)簡(jiǎn)單的選擇。然而,Vue 的簡(jiǎn)單性和靈活性是一把雙刃劍——它允許糟糕的代碼,使其難以調(diào)試和測(cè)試。

盡管 Angular、React 和 Vue 的學(xué)習(xí)曲線很長(zhǎng),但它們?cè)谡莆蘸蟮挠猛臼菬o(wú)限的。例如,您可以將 Angular 和 React與 WordPress 和 WooCommerce集成以創(chuàng)建漸進(jìn)式 Web 應(yīng)用程序。

(4) Angular vs React vs Vue:誰(shuí)是贏家?

在這篇文章的結(jié)尾,讓我們回顧一下每個(gè)框架的特性來(lái)嘗試回答這個(gè)問(wèn)題:Angular vs React vs Vue:你應(yīng)該選擇哪一個(gè)?

  • Angular是最成熟的框架,在貢獻(xiàn)者方面有很好的支持,并且是一個(gè)完整的包。然而,學(xué)習(xí)曲線很陡峭,Angular 的開(kāi)發(fā)概念可能會(huì)讓新開(kāi)發(fā)人員望而卻步。對(duì)于擁有大型團(tuán)隊(duì)和已經(jīng)使用 TypeScript 的開(kāi)發(fā)人員的公司來(lái)說(shuō),Angular 是一個(gè)不錯(cuò)的選擇。
  • React已經(jīng)足夠成熟,并且擁有大量來(lái)自社區(qū)的貢獻(xiàn)。它獲得了廣泛的認(rèn)可。React 的就業(yè)市場(chǎng)非常好,這個(gè)框架的未來(lái)看起來(lái)很光明。對(duì)于剛開(kāi)始使用前端 JavaScript 框架的人、初創(chuàng)公司和喜歡靈活性的開(kāi)發(fā)人員來(lái)說(shuō),React 看起來(lái)是一個(gè)不錯(cuò)的選擇。與其他框架無(wú)縫集成的能力為那些希望代碼具有一定靈活性的人提供了很大的優(yōu)勢(shì)。
  • Vue是最新的舞臺(tái),沒(méi)有大公司的支持。然而,作為 Angular 和 React 的強(qiáng)大競(jìng)爭(zhēng)對(duì)手,它在過(guò)去幾年中做得非常好,尤其是隨著 Vue 3.0 的發(fā)布。這可能與阿里巴巴和百度等許多中國(guó)巨頭選擇 Vue 作為他們主要的前端 JavaScript 框架有關(guān)。如果你喜歡簡(jiǎn)單,但也喜歡靈活性,Vue 應(yīng)該是你的選擇。

Angular 與 React 與 Vue 之爭(zhēng)的答案是沒(méi)有絕對(duì)正確的選擇,這是您可能預(yù)期的結(jié)論。

這些庫(kù)中的每一個(gè)都有自己的優(yōu)點(diǎn)和缺點(diǎn)。根據(jù)您正在處理的項(xiàng)目和您的個(gè)人要求,其中一個(gè)將比其他更合適。在決定之前做自己的研究總是很關(guān)鍵的,特別是如果你要從事商業(yè)冒險(xiǎn)而不是個(gè)人項(xiàng)目。

本文由聞數(shù)起舞翻譯自Shaumik Daityari的文章《Angular vs React vs Vue: Which Framework to Choose in 2021》,轉(zhuǎn)載請(qǐng)注明出處,原文鏈接:

https://www.codeinwp.com/blog/angular-vs-vue-vs-react/)

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2020-01-09 15:35:54

ReactAngularVue.js

2017-06-30 12:53:50

Javascript框架Vue vs Reac

2021-12-29 07:09:43

React框架Vue

2021-11-02 08:40:42

VS CodeAtom開(kāi)源

2020-07-08 11:05:52

ReactAnglar前端

2021-06-08 13:29:56

FlutterReact Nativ開(kāi)發(fā)

2022-05-23 09:56:04

前端ReactJSFlutter

2019-03-01 09:36:25

ReactAngular開(kāi)發(fā)

2016-06-22 09:01:31

Linux MintUbuntu發(fā)行版

2021-03-26 09:00:00

開(kāi)發(fā)框架React

2019-10-31 14:28:22

React VueHTML

2018-04-25 07:50:12

云計(jì)算IaaSPaas

2024-04-09 16:19:16

2024-12-27 10:20:54

2020-09-25 07:40:39

技術(shù)開(kāi)發(fā)選型

2022-06-27 17:46:53

PythonFlask

2017-11-23 22:32:18

框架ScrumXP

2023-06-25 13:00:04

2024-12-03 14:49:28

2021-03-18 13:20:52

Linux MintLinuxLinux發(fā)行版
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久久久久久久久久久午夜片 | 精品一区二区久久 | 韩日在线视频 | 国产99久久精品一区二区永久免费 | 视频在线一区二区 | 亚洲不卡| 91成人免费看片 | 久久精品国产一区 | 综合九九| 福利视频一区二区三区 | 欧美精品一区二区在线观看 | 久久亚洲国产 | 四虎最新视频 | 国产欧美日韩一区 | 国产视频一区二区三区四区五区 | 日本成人中文字幕 | 日本一级淫片免费啪啪3 | 午夜成人免费视频 | 91热在线 | 欧美美女一区二区 | 久久精品视频在线播放 | 亚洲一区二区三区免费观看 | 91欧美激情一区二区三区成人 | 亚洲国产免费 | 91av在线影院 | 精品国产乱码久久久久久久久 | 91在线中文字幕 | 日韩成人免费视频 | 黄色视频a级毛片 | 亚洲天堂网站 | 男女网站免费观看 | 免费国产网站 | 91视频免费视频 | 国产婷婷精品av在线 | 日韩欧美视频 | 亚洲不卡在线观看 | 色综网 | 国产成人久久精品一区二区三区 | 亚洲一区久久久 | 四虎影院免费在线 | 国产精品久久久久久久7电影 |