首頁  >  文章  >  web前端  >  Angular、Vue、React三大框架鼎力2018

Angular、Vue、React三大框架鼎力2018

寻∝梦
寻∝梦原創
2018-09-07 17:48:211906瀏覽

2018年前端炒的火熱的莫非於三大框架,angular、vue、react,談談我對這三大框架的理解,接下來一起看吧。

期初在前三、四年或更早,前端還沒被完全分離出來,原生js開發前端頁面,似乎並不優雅,好比我們蓋房子,一塊磚一塊磚的蓋,很耗時,也不方便維護,漸漸地jQuery庫的產生,提高了開發人員的效率,減少了瀏覽器的兼容,一時間很多漲粉,到現在一些舊的項目仍然在使用,but,他沒有mvc,mvvm架構架,需要自行進行配置。

後來出現了mvc框架的angular,這個效率比較低,只要發生變化,就得重新遍歷計算;

然後出現了react,react的虛擬dom減少了dom操作,降低了專案成本,提高效率和程式效能,但react是基於view層的,他需要配合一些其他的框架,如flux,redux等,如果拿react跟vue比較的話,使用起來會相對複雜,比如,不能使用指令,遍歷不方便,;

而vue相對react而言,沒有react靈活,搭配自如,但是他開發起來很高效,vue的插件,組件,生態系統對於我們一般的項目已經足夠了,雖然vue的是個人主導的,react是Facebook團隊維護的,社區比較繁榮,但vue適合很多項目,也正在慢慢的擴大,前景也是很不錯的。

Angular

作為元老級的Angular,前後經angular1、angular2、angular4,每個版本似乎都是一個新的框架。

angular1中的ng-if和vue的v-if很相像,因為vue的指令系統就是從angular1中獲取的靈感,而且angular1中的許多問題在vue中得以解決;

到了angular2,他比起1來說,是一個全新的框架,比如說,有更優秀的組件系統,api也變了很多等等,雖然改進了很多,但還是很臃腫;

比起於angular2,angular4的功能清單中添加了許多新功能,同時還有一些舊功能的改進,使用angular4程式將會消耗更少的空間,比起以前的版本運行的更快。

  • 使用場景

當專案對效能要求不高的時候,可以使用angular,或是一些曾經一直使用的angular1的專案有必要升級一下了,而且哪有不要求性能的項目,所以angular對於一些新型項目慎重考慮...(想看更多就到PHP中文網AngularJS開發手冊中學習)

React

官方說react是因為Facebook對市場上的mvc框架都不滿意,自己寫了一套用來架構Instagram網站,因為好用,2013年5月開源的,到先在2017年底,react已經升級到了16.2,路由react-router3升為react-router4,react-router-dom

  • ##虛擬dom

# react不得不提的是虛擬DOM(Virtual DOM),當頁面初次載入的時候會產生一顆dom樹,記憶體中會產生一顆render樹,當資料發生變更的時候,會將更改的內容和存有的render樹進行對比,找出最優的演算法,然後更改render樹,最後重新產生頁面的dom樹,有了虛擬dom,前端的效能提高了很多。

  • 元件化

react的元件化想法特別體現,將view層分成各個獨立的元件,降低耦合度,元件化使得元件間可組合,可重複使用,可維護,從而大大提高開發效率

  • 靈活性

react是基於view層的,要想發揮他的作用,必須配合一些插件,例如flux,redux等,當然,可以配合更多的庫來達到更好的效果

  • 使用場景

react的使用基本上是大型專案的首選,組件化和靈活性是大型專案的條件,其次,react native可以讓react運行在行動裝置上。

Vue

Vue是2014年2月開源的,由尤大牛主導的vue編寫,到目前為止升級到了v2.5,vue的全家桶Vue-router,Vuex,服務端渲染,以及vue的虛擬dom,組件化,性能,不差於react,對於沒有Angular 和react經驗的團隊,並且規模不是很大的前端項目來說,vue是一個很好的選擇

總結

框架的選型不僅要看專案本身,還要綜合公司團隊,團隊的技術堆疊可能直接導致專案框架的選型

#好了,這篇文章到這就結束了(想看更多就到PHP中文網

AngularJS使用手冊中學習),有問題的可以在下方留言提問。


以上是Angular、Vue、React三大框架鼎力2018的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn