前端 - angular和react各自有什么優(yōu)缺點(diǎn)
問題描述
angular和react各自有什么優(yōu)缺點(diǎn)?怎么對(duì)兩者進(jìn)行取舍?目前是有個(gè)大的項(xiàng)目要重構(gòu),因?yàn)橹皼]有使用過市面上的各種MV*框架,所有現(xiàn)在在考慮是否要使用react來管理view,但是畢竟只是view,所以在想是不是不直接上angular。
問題解答
回答1:其實(shí)我突然覺得尤小右在vue官網(wǎng)的介紹很好啊,要不看看:
說缺點(diǎn),
Angular, 大量 Java 的味道, 框架體積大, 概念多, 語法復(fù)雜, 后面還引入 TypeScript, 從 1 升級(jí)到 2 幾乎成了一個(gè)新的框架, 給人太臃腫的感覺, 前端的問題很簡(jiǎn)單為啥搞那么復(fù)雜.
React, 大量的 Facebook 的味道, JSX, Webpack, Babel 一路做下來概念是約越到后面越多. 而且最近覺得社區(qū)太激進(jìn)了, 像是生態(tài)還沒有搞好就吸引了一大堆人沖進(jìn)去, 逐步夾帶各種私貨到里邊.
Vue, 小右一個(gè)人畢竟坑不過大公司啊..
回答3:Angular 的看這里:https://ruby-china.org/topics/27590#reply7
React 不是框架,沒有可比性。只是做幾個(gè)頁面的中小項(xiàng)目用 React 就好了,上了規(guī)模的項(xiàng)目如果你自己沒有架構(gòu)能力,就乖乖用 Angular。實(shí)際上 Angular 在很多層面都比較落后(或者說成熟),這我在上面的鏈接里都說得差不多了,然而對(duì)普通開發(fā)者來說不需要考慮這些(等你意識(shí)到這些之后你就不普通了,那時(shí)候你自然會(huì)有自己的判斷)。
回答4:居然有人說React不是框架 強(qiáng)行輕量化 你用的時(shí)候難道不是react-route+redux+react全套一起用
angular1說實(shí)在的,沒有什么缺點(diǎn),一個(gè)五年的框架,該踩的坑都踩完了,想做雙向綁定,除樂avalon那種用vbs玩花樣,只有dirty check可以兼容ie8至于架構(gòu),設(shè)計(jì)復(fù)雜不是他的錯(cuò)啊,本身angular就是大而全的框架,唯一少的就是狀態(tài)管理
然后react,也是那樣,配上redux這個(gè)東西,實(shí)現(xiàn)狀態(tài)管理,未來大應(yīng)用的方向,話說angular2也能redux了
再有我不認(rèn)為ecma6是優(yōu)勢(shì) 語法就是語法糖,沒有什么本質(zhì)的改變(真的是質(zhì)變的是ie9+支持getter/setter了)java那么復(fù)雜的語言都寫習(xí)慣了區(qū)區(qū)js而已真的有人認(rèn)為react本身(不算webpack)那種js html混寫很好么?太反人類了吧
回答5:關(guān)于Angular和React,其區(qū)別其實(shí)非常之大。Angular是一個(gè)MVC框架,因?yàn)槠浜wMVC全部的內(nèi)容,所以它幾乎能代替大部分后端的工作,特別是其雙向數(shù)據(jù)綁定等功能,可以說使用相當(dāng)方便(但學(xué)習(xí)成本也高)。但缺陷就是Angular過重,前端大部分情況下并非需要一個(gè)完整的MVC框架,因?yàn)榇蟛糠诌壿嫅?yīng)該交給后端來完成。這也導(dǎo)致了Angular永遠(yuǎn)無法登上臺(tái)面,一個(gè)正常的網(wǎng)站不會(huì)容忍一個(gè)為了功能全面而大幅消耗性能的框架。所以Angular大部分時(shí)候只能藏于身后,在一些后臺(tái)管理頁面中使用。React則不同,其最大的優(yōu)勢(shì)就是其輕量級(jí),F(xiàn)acebook看到了前端使用MVC框架的劣勢(shì),而前端大部分時(shí)候只有View的操作,所以React只著重于View層的開發(fā)。特別是其Virtual DOM的思維,大幅提升前端頁面渲染的速度。由于其輕量級(jí),所以得以在大流量網(wǎng)站上使用,例如React研發(fā)所針對(duì)的Instagram上已經(jīng)使用,還有阿里版變種的Weex也用在淘寶等網(wǎng)站有所使用。
兩者最大的區(qū)別就是輕和重的區(qū)別,建議就是,大訪問量輕邏輯的頁面用React,小訪問量重邏輯的頁面用Angular。
相關(guān)文章:
1. mysql如何配置遠(yuǎn)程php外網(wǎng)鏈接數(shù)據(jù)庫(kù)2. 老師 我是一個(gè)沒有學(xué)過php語言的準(zhǔn)畢業(yè)生 我希望您能幫我一下3. mysql - eclispe無法打開數(shù)據(jù)庫(kù)連接4. 導(dǎo)入數(shù)據(jù)庫(kù)不成功5. 數(shù)據(jù)庫(kù) - mysql中有沒查看數(shù)據(jù)大小的函數(shù)??6. PHP單例模式7. Mysql 關(guān)于 FOUND_ROWS() 和 ROW_COUNT() 函數(shù)8. mysql如何判斷數(shù)據(jù)不存在則插入呢?9. mysql無法刪除字段(錯(cuò)誤1091),但是對(duì)該字段設(shè)置主鍵后就可刪除,為什么?10. Mysql5.6以后,說 innode 的 select 性能不輸 myisam 了,為什么 ?
