您現(xiàn)在的位置是:二手房資訊
都 9012了,該選擇 Angular、React,還是Vue?
2019-04-28 22:40二手房資訊
簡介盡管 Web開發(fā)的典型應(yīng)用場景除了將服務(wù)器用作平臺、瀏覽器用作客戶端之外,幾乎很少活躍于其他業(yè)務(wù)領(lǐng)域,但不可否認(rèn)JavaScript 語言和框架的使用已經(jīng)成為了主流。Angular、React 和 Vue,作為 JavaScript 的三大框架已逐步發(fā)展成熟,三者的差異性也越發(fā)明顯...

盡管 Web開發(fā)的典型應(yīng)用場景除了將服務(wù)器用作平臺、瀏覽器用作客戶端之外,幾乎很少活躍于其他業(yè)務(wù)領(lǐng)域,但不可否認(rèn)JavaScript 語言和框架的使用已經(jīng)成為了主流。Angular、React 和 Vue,作為 JavaScript 的三大框架已逐步發(fā)展成熟,三者的差異性也越發(fā)明顯,假設(shè)JavaScript還會繼續(xù)流行十年左右,未來十年,你將會作何選擇?
AngularAngularJS 自2009年誕生,至今已有十年歷史。在這短短十年中,其對 Web 社區(qū)的發(fā)展產(chǎn)生了十分深遠(yuǎn)的影響。作為一款優(yōu)秀的 JavaScript 框架,在其推出一年后,便在全球引起了廣泛關(guān)注,如今更是在Google的 600 多款產(chǎn)品中得以成功運(yùn)用,如Firebase控制臺、谷歌分析、谷歌快車、谷歌云等。
AngularJS有著諸多核心特性,包含:MVC(Model–view–controller)、模塊化、自動化雙向數(shù)據(jù)綁定、語義化標(biāo)簽、依賴注入等。Angular 最新版 7.0.0 已于2018年10月發(fā)布,下一版本預(yù)計(jì)將于今年第二季度正式上線。以下是Angular 7 針對性能、命令行工具和Material Design組件的優(yōu)化項(xiàng):
性能方面:Angular 7 新增的虛擬滾動優(yōu)化了單頁面的呈現(xiàn)方式,對于那些吸引訪問者繼續(xù)向下滾動的clickbait網(wǎng)站來說,這將派上大用場。Angular 7 的另一個(gè)性能亮點(diǎn)被稱為Bundle Budgets,它用于預(yù)警開發(fā)人員當(dāng)前使用的JavaScript包的大小,當(dāng)JavaScript 包超過 2MB 時(shí)開始預(yù)警,在達(dá)到 5MB 后直接中斷生成。
Angular 7 虛擬滾動

Angular 7 拖放效果
Angular的出現(xiàn),在Web社區(qū)引發(fā)了強(qiáng)烈轟動。兩年后,F(xiàn)acebook 也推出了一款同樣具備豐富功能的JavaScript UI組件庫——React。
使用React,意味著您將用一種更簡約的方式開始前端開發(fā),這也是大部分開發(fā)人員所期待的:
l 沒有依賴注入
l 使用JSX(一種基于JavaScript構(gòu)建的類似XML的語言),而非經(jīng)典模板,創(chuàng)建虛擬DOM
l 使用狀態(tài)管理setState和Context API
l XSS保護(hù)
l 用于單元測試組件的實(shí)用程序
不多,卻正好夠用,您完全可以根據(jù)自己的需要,自由添加任何組件庫,它們包括:
l 路由:React-router
l 獲取 HTTP請求:Fetch(或axios)
l 各種各樣的CSS封裝技術(shù)
l 用于單元測試的Enzyme
Google 和 Facebook 作為 Web 社區(qū)開源項(xiàng)目的主要發(fā)起者,彼此之間從未停止過競爭,尤其是關(guān)于 Angular 和 React 之間的辯論已經(jīng)持續(xù)了四年之久。但嚴(yán)格來說,將Angular與React進(jìn)行比較并不完全公平,因?yàn)锳ngular是一個(gè)功能齊全、組件豐富的框架,而React只是一個(gè)UI組件庫。為了解決這個(gè)問題,我們將就 Angular 框架中的一些常用組件庫與 React 進(jìn)行對比。
組件功能:React VS AngularAngular提供了比React更多開箱即用的功能,如:
l 依賴注入
l 基于HTML的擴(kuò)展模板
l 由 @angular / router 提供的路由
l 使用 @angular / common / http 的Ajax請求
l 用于構(gòu)建 @angular /forms 的表單
l 組件CSS封裝
l XSS保護(hù)
l 用于單元測試組件的實(shí)用程序
其中,依賴注入等功能作為 Angular 的核心,您無法選擇不使用它們,這好像一把雙刃劍,在帶來強(qiáng)大功能模塊的同時(shí),也使得Angular 變得越來越笨重。
當(dāng)然,Google工程師已經(jīng)意識到了這個(gè)問題,也在一定程度上致力于簡化Angular框架的復(fù)雜性,希望在 Angular 8 中能讓人耳目一新。
Vue在React 與 Angular孰優(yōu)孰劣的討論逐步升溫的時(shí)候,另一個(gè)JavaScript框架Vue抵達(dá)了現(xiàn)場,使得這場最優(yōu)Web開發(fā)框架的角逐變得更加白熱化。
Vue.js 是由Google的核心開發(fā)工程師——尤雨溪(Evan You)所創(chuàng)建的框架,作為一個(gè)比 React 和 Angular 都更年輕的框架,Vue 從它們那里借鑒了好的部分,即函數(shù)式和面向?qū)ο缶幊痰幕旌象w。2014年2月(在微軟收購GitHub平臺四年之前),Evan You在GitHub上發(fā)布了第一個(gè)穩(wěn)定版本的Vue,標(biāo)志著一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動的 Web UI的漸進(jìn)式框架就此誕生。
盡管沒有得到谷歌和Facebook等科技巨頭的支持,但自2018 年以來,Vue一直受到開發(fā)者的廣泛關(guān)注。從去年幾大主流前端開發(fā)框架的熱度來看,大多數(shù)知曉 Vue 的開發(fā)者都表示有興趣學(xué)習(xí)它。
也許,那些已經(jīng)熟練掌握Angular和React前端框架的開發(fā)人員也應(yīng)該花些時(shí)間去了解一下這個(gè)簡單、小巧、省心的前端框架,希望下面的內(nèi)容能對你有所幫助。
學(xué)習(xí)曲線:React VS Vue如果前端框架的學(xué)習(xí)不包含TypeScript(即便 TypeScript 通常被認(rèn)為是JavaScript的增集,但要完全掌握仍需要學(xué)習(xí)額外的類處理過程),那么 React和Vue的學(xué)習(xí)速率都高于Angular。
相對于 React,許多初學(xué)者認(rèn)為Vue的學(xué)習(xí)成本更低,因?yàn)樗峁┝烁迂S富的資源文檔和中文支持。事實(shí)上,Vue和React學(xué)習(xí)速率的實(shí)際情況是大致相同的,由于大部分Vue的學(xué)習(xí)資料直接以單個(gè)Web應(yīng)用程序的開發(fā)實(shí)踐開始,直觀且清晰的代碼邏輯的確可以幫助初學(xué)者更快入門,但是,隨著學(xué)習(xí)內(nèi)容的深入,當(dāng)您需要開發(fā)復(fù)雜的Web應(yīng)用程序時(shí),花哨靈活的指令和邏輯反而會讓人覺得Vue比React更難掌控。
技術(shù)社區(qū):React VS VueReact是一個(gè)已經(jīng)存在近十年的Facebook開源項(xiàng)目,因此它擁有更加成熟的技術(shù)社區(qū)支持。盡管 Vue 已經(jīng)成功地在短短幾年間吸引了相當(dāng)多的追隨者,但在它真正建立出一整套完善且豐富的生態(tài)系統(tǒng)之前,仍需要更多人和時(shí)間的打磨。
當(dāng)你看到許多使用Vue完成的項(xiàng)目時(shí),你會注意到,其整體的設(shè)計(jì)理念更趨向現(xiàn)代化,這是因?yàn)?Vue 仍是一個(gè)相對較新的框架,比如,這個(gè)示例。
眾多周知,React所包含的工具、組件庫和代碼包的數(shù)量更多,但Vue靈巧、精致和簡單卻更加令人印象深刻。
安全性:React VS Vue前端幾乎無安全可言!當(dāng)然,這里所指的安全性,僅僅是 React 和 Vue 這兩個(gè)框架之間的對比,相對于React,Vue更為小眾且不同,因此在面對大規(guī)模黑客攻擊的時(shí)候,React更容易成為目標(biāo)。
Vue和React同樣都容易受到跨站點(diǎn)腳本(XSS)攻擊,這也是Web應(yīng)用程序中最為常見的安全漏洞。XSS攻擊允許攻擊者將客戶端腳本注入到其他用戶查看的網(wǎng)頁中,以影響其關(guān)聯(lián)的任何JavaScript Web應(yīng)用程序。
PS:緩解此問題的最佳方法是將數(shù)據(jù)保存在腳本之外,加入黑名單機(jī)制并從白名單中進(jìn)行數(shù)據(jù)驗(yàn)證。
靈活性:React VS Vue這也是爭議最大的地方。React 專注于 UI,所以在構(gòu)建 UI 組件時(shí)可以從它那里獲得很好的支持。Vue作為一個(gè)漸進(jìn)式框架,只允許使用最基本的功能來構(gòu)建應(yīng)用程序,但同時(shí)也提供了一些開箱即用的東西:如,用于狀態(tài)管理的 Vuex、用于應(yīng)用程序 URL 管理的 Vue Router、Vue 服務(wù)器端渲染。
Vue剝離了許多元素,相比之下React更加全面。但如果您正在尋找一種精簡、新穎、簡單易學(xué)、樣板代碼少、高性能、靈活且完整的前端框架,Vue更加適合;當(dāng)然,如果您打算使用低版本jQuery代碼,Vue也同樣支持。
React的靈活性則更多依賴于其背后強(qiáng)大的技術(shù)社區(qū),在 Facebook 的強(qiáng)力支撐下(Facebook 的 React 團(tuán)隊(duì)包括了 10 名專職開發(fā)人員),提供了更多工具、UI庫和教程。
如果您的開發(fā)理念更趨向全棧文化、跨平臺、保持獨(dú)特、引領(lǐng)潮流而不是跟隨,那么您一定會喜歡Vue;但如果您的項(xiàng)目需要大量熟練使用該框架的前端開發(fā)者、大量的工具及第三方庫,那么您最好使用React。個(gè)人開發(fā)者可以根據(jù)自身喜好選擇前端框架,而對于企業(yè)來說,與其為每次框架更新的兼容性問題頭疼,不如直接上手一款全面支持Angular、React 和 Vue 的前端開發(fā)工具,目前市面上有很多優(yōu)秀的工具可供選擇,如WijmoJS 和 SpreadJS 等。
Vue的未來截至2019年初,Angular、React和Vue之間的競爭持續(xù)升溫,越來越多的開發(fā)人員開始拋棄Google項(xiàng)目,就眾多優(yōu)秀的商業(yè)開發(fā)工具提供者而言,Vue的未來一片光明。
為開發(fā)速度更快的 Web 應(yīng)用程序而選擇了Vue的人有明顯的增長,Vue 很有趣,開發(fā)起來也很簡單。雖然,React依托于其龐大的生態(tài)圈,在目前為止,處理更復(fù)雜的 Web 項(xiàng)目時(shí)占據(jù)優(yōu)勢,但隨著前端社區(qū)內(nèi)大量 Vue 追隨者的出現(xiàn)、Vue 社區(qū)穩(wěn)定增長的良好氛圍,都在暗示著 Vue 很快就會變得像 React 一樣受歡迎。
Angular、React,還是Vue?作者盡量保持著公正的態(tài)度,客觀地分析了上述三個(gè)前端框架,而作為前端開發(fā)者,面對 Angular、React 和 Vue,你會作何選擇?為什么?如果您有任何問題或意見,歡迎在文末回復(fù)討論。
關(guān)于葡萄城
賦能開發(fā)者!葡萄城集團(tuán)成立于 1980 年,是全球領(lǐng)先的集開發(fā)工具、商業(yè)智能解決方案、管理系統(tǒng)設(shè)計(jì)工具于一身的軟件和服務(wù)提供商。西安葡萄城是其在中國的分支機(jī)構(gòu),面向全球市場提供軟件研發(fā)服務(wù),并為中國企業(yè)的信息化提供國際先進(jìn)的開發(fā)工具、軟件和研發(fā)咨詢服務(wù)。葡萄城的控件和軟件產(chǎn)品在國內(nèi)外屢獲殊榮,在全球被數(shù)十萬家企業(yè)、學(xué)校和政府機(jī)構(gòu)廣泛應(yīng)用。
Tags:9012,選擇,Angular,React,還是,Vue,
相關(guān)文章
- TiVo流4K啟動時(shí)出現(xiàn)問題,但正在修復(fù)
- 誰說你不能給iPhone增加存儲空間?花18美元買一個(gè)128G
- 前eBay高管被控對公司進(jìn)行網(wǎng)絡(luò)跟蹤“批評”
- 谷歌表示,到2025年,領(lǐng)導(dǎo)層多元化程度將提高30%
- 報(bào)道稱,尼古拉創(chuàng)始人特雷弗·米爾頓夸大了尼古拉一號
- 別克Velite 7可能預(yù)演雪佛蘭博爾特EUV
- 康卡斯特將免費(fèi)互聯(lián)網(wǎng)基本服務(wù)延長至2020年
- Rick和Morty的創(chuàng)作者暗示了第五季的進(jìn)展
- AMC影院計(jì)劃在7月份重新開放450家影院,但口罩并不是
- 報(bào)告稱,2021年福特F-150將像一個(gè)生活空間
隨機(jī)圖文
TiVo流4K啟動時(shí)出現(xiàn)問題,但正在修復(fù)
當(dāng)我們收到TiVo Stream 4K視頻流媒體進(jìn)行審查時(shí),我們遇到了一些問題。這款設(shè)備售價(jià)50美元,類似于Roku或Fi...前eBay高管被控對公司進(jìn)行網(wǎng)絡(luò)跟蹤“批評”
美國司法部在周一發(fā)布的一份新聞稿中稱,16名eBay前員工被控在一份新聞稿背后對一對夫婦進(jìn)行網(wǎng)絡(luò)跟蹤,高管...誰說你不能給iPhone增加存儲空間?花18美元買一個(gè)128G
如果你有一部iPhone,你無疑已經(jīng)聽到了Android用戶對你手機(jī)的一個(gè)主要批評:你不能用microSD卡擴(kuò)展它的內(nèi)存...谷歌表示,到2025年,領(lǐng)導(dǎo)層多元化程度將提高30%
Google首席執(zhí)行官皮查伊(Sundar Pichai)周三表示,該搜索巨頭將增加更多的黑人員工,以及其他“代表性不...
點(diǎn)擊排行

猜你喜歡
- TiVo流4K啟動時(shí)出現(xiàn)問題,但正在修復(fù)
- 誰說你不能給iPhone增加存儲空間?花18美元買一個(gè)128G
- 前eBay高管被控對公司進(jìn)行網(wǎng)絡(luò)跟蹤“批評”
- 谷歌表示,到2025年,領(lǐng)導(dǎo)層多元化程度將提高30%
- 報(bào)道稱,尼古拉創(chuàng)始人特雷弗·米爾頓夸大了尼古拉一號
- 別克Velite 7可能預(yù)演雪佛蘭博爾特EUV
- 康卡斯特將免費(fèi)互聯(lián)網(wǎng)基本服務(wù)延長至2020年
- Rick和Morty的創(chuàng)作者暗示了第五季的進(jìn)展
- AMC影院計(jì)劃在7月份重新開放450家影院,但口罩并不是
- 報(bào)告稱,2021年福特F-150將像一個(gè)生活空間