什么是vue
vue是尤雨溪在2014年發(fā)布的一個(gè)漸進(jìn)式的js框架,它有著雙向綁定的特性,同時(shí)它的虛擬dom技術(shù)讓性能得到大大提升。最重要的就是它是漸進(jìn)式的應(yīng)用,你可以在你的項(xiàng)目中逐步地引入它,還有最重要的一點(diǎn),它是開源的,并且一直在改進(jìn),目前最新的版本3更是讓很多人為此迷之瘋狂。
什么是React
React是facebook開發(fā)出來的用于web開發(fā)的JAVAScript庫,它主要用于元素的交互。它最大的特點(diǎn)就是他的組件功能,它將網(wǎng)頁元素分成了一個(gè)個(gè)組件,這樣各個(gè)組件可以互相組合,增加了復(fù)用性,它也是支持虛擬dom的。
性能對(duì)比
兩者都采用虛擬節(jié)點(diǎn)和懶加載,同時(shí)它們也都使用共享節(jié)點(diǎn)技術(shù),因此兩者的性能差不多。
Vue在啟動(dòng)速度和內(nèi)存占用方面略微領(lǐng)先React,但是在運(yùn)行狀態(tài)方面,React要領(lǐng)先一些。
Vue采用標(biāo)記來跟蹤記錄組件依賴,這樣它可以有更高的刷新率。
Vue的生態(tài)
vue有自己的社區(qū),有自己的狀態(tài)管理插件vuex,有自己的靜態(tài)文件生成器vuepress,有路由插件,也支持和Nuxt完美融合。
React生態(tài)
React有著facebook這個(gè)金主爸爸,因此它的發(fā)展是迅猛的,它有著強(qiáng)大的社區(qū)。 它有著移動(dòng)端的組件 react-native. 它也有路由組件react-router,它也有狀態(tài)管理組件redux. 它有著豐富的UI庫。 總之,react的生態(tài)圈非常龐大,它是支持服務(wù)器端渲染的。
Vue更適合的場景
- 對(duì)于應(yīng)用構(gòu)建的速度有著要求的時(shí)候
- 喜歡干凈簡潔代碼的項(xiàng)目
- 現(xiàn)有項(xiàng)目快速遷移的時(shí)候
React更適合的場景
- 需要開發(fā)一個(gè)移動(dòng)端應(yīng)用的時(shí)候
- 更喜歡使用組件來構(gòu)建應(yīng)用的時(shí)候
- 企業(yè)應(yīng)用或者一些大型項(xiàng)目中
如何選擇
軟件編程中被人們說得最多的一句話就是沒有銀彈,也就是說沒有一種方案可以解決所有問題,每個(gè)場景都有每個(gè)場景最適合的選擇,對(duì)于一個(gè)初學(xué)者來說,vue入門更快一些,而react可能會(huì)稍微復(fù)雜一些,但是如果你學(xué)會(huì)了vue,再去學(xué)react,你會(huì)發(fā)現(xiàn)react其實(shí)也并不復(fù)雜。
其實(shí)很多時(shí)候選擇什么框架并不是我們能決定的,很多時(shí)候是公司決定的,當(dāng)你去一個(gè)以vue為主的公司中,那么你可能就需要學(xué)習(xí)使用vue,同理,如果你去的公司項(xiàng)目使用的是react,那么你只能選擇接受學(xué)習(xí)react,否則你可能失去那份工作。






