Elaine's Blog 朝著 senior 前進的工程師

網頁前端框架選擇

2018-05-07

jQuery V.S. 前端框架

  • 用 jQuery 去操作 DOM 的目的是什麼?
    • 是為了局部更新視圖,換句話說是為了局部重新渲染
  • jQuery 和 現代主流框架差別
    • jQuery 是命令式的操作 DOM,命令式的局部更新視圖
    • 而現代主流框架 Vue、React、Angular 等都是聲明式的,聲明式的局部更新視圖

什麼是 MVVM 框架?

  • 這些框架都是基於 component
    • 一個組件得到一個輸入,並且在一些內部的行為/計算之後,它返回一個渲染的 UI 模板(一個登錄/註銷區或一個待辦事項列表項)作為輸出
    • 定義的組件應該易於在網頁或其他組件中重用

前端框架有哪些?

  • Vue
  • React
  • Angular

Vue

  • 在為 AngularJS 工作之後,Vue 的作者尤雨溪開發出了這一框架。他聲稱自己的思路是提取 Angular 中為自己所喜歡的部分,構建出一款相當輕量的框架
  • 最早發布於 2014 年 2 月
  • 優點:學習成本較低

React

  • React 由 Facebook 的軟體工程師 Jordan Walke 建立
  • 2013 年開源 React 這個函式庫
  • 優點:生態系較完全,網路比較多教學資源

Angular

  • AngularJS 在 2009 年由 Miško Hevery 和 Adam Abrons 開發
  • 由 Google 維護
  • 優點:適合複雜、大型的專案
  • 缺點:Angular 的學習曲線確實很陡。它有全面的文檔,但你仍然可能被嚇哭,因為說起來容易做起來難

前端框架比較

三分天下,該如何選擇?vue,angular 還是 react?

前端框架天下三分:Angular React 和 Vue 的比较

JavaScript 框架大比拼:Vue、React、AngularJS 與 Angular2 該用哪一個?

譯 2017 年比較 Angular、React、Vue 三劍客

上手難度?

  • Vue < React < Angular

使用場景?

  • Vue React 較適合中小型,大型項目
  • Angular 一般用於大型(因為比較厚重)

如何選擇一款適合的前端框架?

  • 這些框架或庫有多成熟?
  • 這些框架只會火熱一時嗎?
  • 這些框架相應的社區規模有多大,能得到多少幫助?
  • 找到每個框架開發者容易嗎?
  • 這些框架的基本編程概念是什麼?
  • 對於小型或大型應用程序,框架是否易用?
  • 每個框架學習曲線什麼樣?
  • 你期望這些框架的性能怎麼樣?
  • 在哪能仔細了解底層原理?
  • 你可以用你選擇的框架開發嗎?

我應該選什麼?

  • 如果你在 Google 工作:Angular
  • 如果你喜歡 TypeScript:Angular(或 React)
  • 如果你喜歡面向對象編程(OOP): Angular
  • 如果你需要指導手冊,架構和幫助:Angular
  • 如果你在 Facebook 工作:React
  • 如果你喜歡靈活性:React
  • 如果你喜歡大型的技術生態系統:React
  • 如果你喜歡在幾十個軟件包中進行選擇:React
  • 如果你喜歡 JS 和“一切都是 Javascript 的方法”:React
  • 如果你喜歡真正乾淨的代碼:Vue
  • 如果你想要最平緩的學習曲線:Vue
  • 如果你想要最輕量級的框架:Vue
  • 如果你想在一個文件中分離關注點:Vue
  • 如果你一個人工作,或者有一個小團隊:Vue(或 React)
  • 如果你的應用程序往往變得非常大:Angular(或 React)
  • 如果你想用 react-native 構建一個應用程序:React
  • 如果你想在圈子中有很多的開發者:Angular 或 React
  • 如果你與設計師合作,並需要乾淨的 HTML 文件:Angular or Vue
  • 如果你喜歡 Vue 但是害怕有限的技術生態系統:React
  • 如果你不能決定,先學習 React,然後 Vue,然後 Angular

參考資料


Similar Posts

下一篇 Sass 學習筆記

Content