对比起来学习前端三大框架(持续更新)
angular:
數(shù)據(jù)雙向綁定,模板功能強(qiáng)大。依賴注入和自定義directive非常靈活。
學(xué)習(xí)路線長(zhǎng),框架偏重。
優(yōu)缺點(diǎn)詳見:angularJS在實(shí)際開發(fā)中有哪些優(yōu)缺點(diǎn)?
vue:
輕量級(jí)。每一個(gè)組件自帶shouldComponentUpdate
?
react:
虛擬DOM操作,設(shè)置state值render頁(yè)面。
?
在vue的官網(wǎng)中有提到,跟其他框架的不同,可以去仔細(xì)了解一下。vue對(duì)比其他框架
官網(wǎng)的涉及到的東西比較深,也沒有那么淺顯易懂,所以想通過自己的理解再去總結(jié)。
?
react和vue進(jìn)行對(duì)比:二者都采用的是virtual DOM的方式去渲染組件。
(1)語(yǔ)法
react推崇的是JSX語(yǔ)法,在學(xué)習(xí)react之前還要去出不了解JSX語(yǔ)法。簡(jiǎn)單說是HTML? CSS? in? ?JavaScript。
vue與之不同的是語(yǔ)法更友好,簡(jiǎn)單說是ALL IN? Vue。可以像之前寫HTML5一樣去寫vue,webpack+vue-loader的單文件格式,再搭配前端模塊化,大的小的都能hold住,less等等的也都可以使用,這個(gè)語(yǔ)法還是非常爽的~
(2)數(shù)據(jù)流
理論上,react要采用單向數(shù)據(jù)流,但是真正在開發(fā)的時(shí)候,還是可以通過callback等方式來進(jìn)行子組件對(duì)父組件傳值,不會(huì)有任何影響。但是引入flux概念,有了redux,強(qiáng)制將state抽取出來集中去管理。雖然更難去掌握,但是也讓react的狀態(tài)管理機(jī)制更加完善。
vue的數(shù)據(jù)流默認(rèn)也是單向的,但是可以使用v-model去進(jìn)行雙向的數(shù)據(jù)流綁定操作。vue的在應(yīng)用大型頁(yè)面的時(shí)候也會(huì)有這樣的state管理的問題,所以有了vuex。
(3)使用場(chǎng)景
借用尤雨溪大佬的話:
使用場(chǎng)景上來說:React 配合嚴(yán)格的 Flux 架構(gòu),適合超大規(guī)模多人協(xié)作的復(fù)雜項(xiàng)目。理論上 Vue 配合類似架構(gòu)也可以勝任這樣的用例,但缺少類似 Flux 這樣的官方架構(gòu)。小快靈的項(xiàng)目上,Vue 和 React 的選擇更多是開發(fā)風(fēng)格的偏好。對(duì)于需要對(duì) DOM 進(jìn)行很多自定義操作的項(xiàng)目,Vue 的靈活性優(yōu)于 React。
(4)render
react是通過遞歸的方式去遍歷DOM樹,實(shí)現(xiàn)diff;而vue是自帶檢查機(jī)制。
react應(yīng)用中,為了避免不要的子組件重渲染,需要部分手動(dòng)實(shí)現(xiàn)shouldComponentUpdate。而這一點(diǎn)vue是更加出色的,組件的依賴是在渲染過程中自動(dòng)追蹤的。有興趣的可以去打印一下vue中data的值,都會(huì)有一個(gè)不可枚舉屬性“__ob__”。這個(gè)屬性就是相當(dāng)于追蹤屬性,精確的知道哪個(gè)組件確實(shí)需要被渲染。可以理解為每個(gè)組件都是有react的shouldComponentUpdate。
參考知乎vue和react使用場(chǎng)景和深度有什么不同
Vue和React區(qū)別
個(gè)人還是很喜歡vue和尤雨溪大佬的。
搬運(yùn)的新資料??關(guān)于Vue和React區(qū)別
?
react和angular對(duì)比,同樣都是Model Driven View
(1)語(yǔ)法
react采用的JSX語(yǔ)法,angular推崇使用typescript,也可以直接用js寫。配合上ts還是很爽,后端的也能很快習(xí)慣ts的開發(fā)。react更注重的是在view層,用state的改變?nèi)e-render頁(yè)面。angular是雙向綁定,更加注重的是model層,更加擅長(zhǎng)對(duì)數(shù)據(jù)的處理和業(yè)務(wù)邏輯。
?
?
?
想通過自己在公司接觸的不同項(xiàng)目和使用的不同框架總結(jié)自己的經(jīng)驗(yàn),如果有不對(duì)的地方,歡迎指正。
?
?
總結(jié)
以上是生活随笔為你收集整理的对比起来学习前端三大框架(持续更新)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux与windows间共享文件夹
- 下一篇: 安装secureCRT提示sorry的解