現在前端三架馬車Angular、React、Vue各有所長。Angular從一開始就帶有很明顯的工程化血統,齊全的cli命令,背靠TypeScript,涉及模組、服務以及指令等概念,使用後端的依賴注入思想,特有模板語法。React和Vue就"輕"很多,React甚至只是一個UI庫,他們共同的一個思想就是,做好且只做好。
Angular、React、Vue三選一,前端工程師更青睞使用哪款框架?下面小編就說說自己的看法。在大型超大型web應用開發上,看好Angular
深度整合Typescript和Rxjs。ts解決了工程化的問題,rxjs解決了開發速度的問題。但是學習成本,可能對於Java,c#等OOP工程師來說比較容易上手,但是對於JavaScript工程師來說,少有工程化的經驗,接受起來比較痛苦。當然,不只是Angular可以採用Typescript開發,很多其他的Dom庫都可以,Angular相比他們的優勢在於:
零配置
深度整合設計模式
約定才是框架的本質
尤其是第三條,相信很多天才程式設計師都能復現Angular的設計模式和功能,但是由於並非“框架”,沒有其他程式設計師跟進,顯然就不能適用於大型超大型應用,畢竟對於大專案來說,溝通往往會成為開發瓶頸。
rxjs很多人認為太重,沒有必要,當然你也可以用很不優雅的toPromise方法來處理非同步操作,甚至直接用behaviorObject.value也可以,但是當非同步操作繁雜,重複,非一致的時候,rxjs可以很優雅地保證資料的穩定。rxjs的運用一方面是為了處理這種複雜的非同步邏輯,另一方面,就是為了讓非同步資料流可以宣告,而不用像promise那樣宣告冗長,或者async await那樣函式化,響應式是基於資料的響應式而不是基於函式。
小型應用上,看好vue
其實絕大部分web應用,都應該只是小型應用。公司官網,論壇,甚至是規模不大的電子商務網站和基本功能的OA,ERP系統,都只是小型web應用。它們資料來源穩定,對於運營的要求不高,但是對載入速度等都有很高的要求。這個時候,小巧的vue就成了首選。Proxy實現的響應式相比Angular的zone暴力代理和rxjs的複雜操作顯得更加接地氣,不需要額外地進行學習。物件式的宣告在UI實現上速度更快。生態雖然沒有react那麼熱鬧但是小而美的庫也很多,nuxt的實現值得點贊。
個性化需求、中型應用,更傾向react
在中大型應用中,不是一定要搞Java那一套的,而且在前端這種對工期要求很緊的領域,沒必要因為新增新功能而更換新的平臺,能用到rxjs和依賴注入的前端應用場景並不多。所以如果採用react,從專案一開始就漸進式地新增模組,往往更適合快速發展的產品。
有任何疑惑加群QQ786276452
對前端的技術,架構技術感興趣的同學關注我的頭條號,並在後臺私信傳送關鍵字:“前端”即可獲取免費的架構師學習資料
知識體系已整理好(原始碼,筆記,PPT,學習視訊),歡迎免費領取。還有面試視訊分享可以免費獲取。關注我,可以獲得沒有的架構經驗哦!!