iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
1
Modern Web

Angular 8 從推坑到放棄系列 第 2

[Day 01]框架的比較(AngularJs vs Angular vs React)

  • 分享至 

  • xImage
  •  

為什麼要換框架

我在開始做新專案的時,因為以前的專案是使用了 AngularJS 作為主要的前端框架,因此特別去研究並且做了一些比較
但之後深入了解並且並且比較一些實際上框架的使用情況,對我們來說這是個偽命題,因為現在很多的框架越來越像,越貼近 W3C WebComponents 的規範

AngularJS

因為我們的專案以前是使用專案以前是使用AngularJS,所以把也納入考量,以下我們列了幾個也納入考量,以下我們列了幾個優缺點

優點

  1. 它還在維護(但是只有 Community在維護)
  2. 其他的 TeamMeber 比較熟悉這個框架

缺點

  1. 官方還有很多angularjs的開發人員,可能都會跳去angular了,angularjs肯定會越來越少支援
  2. devtool非常糟糕,基本上新的三大框架的devtool都好太多了
  3. 市場上比較難找到寫AngularJs的人
  4. 討論社群變少,

Angular

因為我們公司的其他團隊已經從 AngularJS轉用 Angular,而且還活得好好的,因此我先搜尋了研究了有關於他的優缺點一下整理的幾個優缺點

優點

  1. 是一個大而全的框架,所以不用考慮很多配置
  2. 這是一個強約束性的框架(要Follow它的規則),當開發大型專案與多個開發人員合作時是相當好的選擇
  3. 強大的Form表單處理
  4. 容易實做Two Way Binding
  5. 詳細的文件幾乎涵蓋了所有必須的信息,你甚至不需要向同事詢問
  6. 很大的社群、StackOvewFlow的討論很多

缺點

  1. 是一個大而全的框架,所以需要學很多附帶的東西(依賴注入、Directives、Pipe...等)
  2. 這是一個強約束性的框架,不夠靈活
  3. 需要學習Typescript, 以及Angular 的一些特殊語法,需要很高的學習曲線
  4. 版本碎片化、版本升級問題:從低版本升級到新版本的時候,不兼容導致遷移成本高,有時候查StackOverFlow 還要往舊版去查詢
  5. Two Way Binding 資料流問題,有時候資料不知道被什麼東西觸發而改變

React

優點

  1. React速度很快:它並不直接對DOM進行操作,引入了一個叫做 Virtual DOM的概念,安插在javascript邏輯和實際的DOM之間,性能好
  2. 跨瀏覽器兼容:虛擬DOM幫助我們解決了跨瀏覽器問題,甚至在IE8中都是沒問題的
  3. 一切都是component:代碼更加模塊化,重用代碼更容易,可維護性高
  4. 透過既有 es5/es6/es7 語法撰寫,較容易與簡潔
  5. 他只是一個libray,版本遷移較容易
  6. 單向資料流

缺點

  1. 他只是一個libray,意味著他需要其他的第三方 libray支援
  2. 缺乏官方文件, 很多文件都由眾多開發者的維護也使其缺乏一個系統化的思路
  3. React因為太靈活增加了決策成本

學技術是要來解決問題的

  • 要為解決實作上的目標而學
  • 面對它、接受它、處理它、放下它

結論

後續因為種種的考量所以採用了Angular,進而有了這篇教學文,最主要的原因如下

  1. 技術一致性
  2. 很多的 TeamMeber 是後端工程師,對於碰 Typescipt 比較沒有障礙
  3. 很難說服主管去使用 React

參考

  1. 2019 年大前端技术趋势深度解读
  2. 談談前端框架

上一篇
[Day 00] Angular 學習後放棄之前言
下一篇
[Day 02]給前端框架新手建議:用Angular非常辛苦,用Vue.js非常舒服
系列文
Angular 8 從推坑到放棄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言