前端框架Vue、angular、React的優勢和缺點

學習web前端開發中,會有不少的框架,那麼目前流行的框架有哪些呢?javascript

1、Vue.js:前端

     其實Vue.js不是一個框架,由於它只聚焦視圖層,是一個構建數據驅動的Web界面的庫。java

     Vue.js經過簡單的API(應用程序編程接口)提供高效的數據綁定和靈活的組件系統。angularjs

     Vue.js的特性以下:web

      1.輕量級的框架編程

      2.雙向數據綁定api

      3.指令瀏覽器

      4.插件化前端框架

 

   優勢: 1. 簡單:官方文檔很清晰,比 Angular 簡單易學。架構

      2. 快速:異步批處理方式更新 DOM。

      3. 組合:用解耦的、可複用的組件組合你的應用程序。

      4. 緊湊:~18kb min+gzip,且無依賴。

      5. 強大:表達式 & 無需聲明依賴的可推導屬性 (computed properties)。

      6. 對模塊友好:能夠經過 NPM、Bower 或 Duo 安裝,不強迫你全部的代碼都遵循 Angular 的各類規定,使用場景更加靈活。

 

  缺點:  1. 新生兒:Vue.js是一個新的項目,沒有angular那麼成熟。

     2. 影響度不是很大:google了一下,有關於Vue.js多樣性或者說豐富性少於其餘一些有名的庫。

     3. 不支持IE8:

 

2、angularJS:

  angularJS是一款優秀的前端JS框架,已經被用於Google的多款產品當中。

  angularJS的特性以下:

    1.良好的應用程序結構

    2.雙向數據綁定

    3.指令

    4.HTML模板

    5.可嵌入、注入和測試

 

  優勢: 1.  模板功能強大豐富,自帶了極其豐富的angular指令。

      2. 是一個比較完善的前端框架,包含服務,模板,數據雙向綁定,模塊化,路由,過濾器,依賴注入等全部功能;

        3. 自定義指令,自定義指令後能夠在項目中屢次使用。

      4. ng模塊化比較大膽的引入了Java的一些東西(依賴注入),可以很容易的寫出可複用的代碼,對於敏捷開發的團隊來講很是有幫助。

      5. angularjs是互聯網巨人谷歌開發,這也意味着他有一個堅實的基礎和社區支持。
 

  缺點: 1. angular 入門很容易 但深刻後概念不少, 學習中較難理解.

            2. 文檔例子很是少, 官方的文檔基本只寫了api, 一個例子都沒有, 不少時候具體怎麼用都是google來的, 或直接問misko,angular的做者.

      3. 對IE6/7 兼容不算特別好, 就是能夠用jQuery本身手寫代碼解決一些.

        4. 指令的應用的最佳實踐教程少, angular其實很靈活, 若是不看一些做者的使用原則,很容易寫出 四不像的代碼, 例如js中仍是像jQuery的思想有不少dom操做.

        5. DI 依賴注入 若是代碼壓縮須要顯示聲明.

 

3、React:
 
   React主要用於構建UI。你能夠在React裏傳遞多種類型的參數,如聲明代碼,幫助你渲染出UI、也能夠是靜態的HTML DOM元素、也能夠傳遞動態變量、甚至是可交互的應用組件。
 
   React特性以下: 

    1.聲明式設計:React採用聲明範式,能夠輕鬆描述應用。

    2.高效:React經過對DOM的模擬,最大限度地減小與DOM的交互。

    3.靈活:React能夠與已知的庫或框架很好地配合。

 

  優勢: 1. 速度快:在UI渲染過程當中,React經過在虛擬DOM中的微操做來實現對實際DOM的局部更新。

      2. 跨瀏覽器兼容:虛擬DOM幫助咱們解決了跨瀏覽器問題,它爲咱們提供了標準化的API,甚至在IE8中都是沒問題的。

      3. 模塊化:爲你程序編寫獨立的模塊化UI組件,這樣當某個或某些組件出現問題是,能夠方便地進行隔離。

      4. 單向數據流:Flux是一個用於在JavaScript應用中建立單向數據層的架構,它隨着React視圖庫的開發而被Facebook概念化。

      5. 同構、純粹的javascript:由於搜索引擎的爬蟲程序依賴的是服務端響應而不是JavaScript的執行,預渲染你的應用有助於搜索引擎優化。

      6. 兼容性好:好比使用RequireJS來加載和打包,而Browserify和Webpack適用於構建大型應用。它們使得那些艱難的任務再也不讓人望而生畏。

 

缺點: 1. React自己只是一個V而已,並非一個完整的框架,因此若是是大型項目想要一套完整的框架的話,基本都須要加上ReactRouter和Flux才能寫大型應用。

相關文章
相關標籤/搜索