Vue.js概述

Vue是一個非常令人印象深刻的項目。這是一個非常流行的JavaScript框架,並且正在經歷巨大的增長。它簡單,小巧且性能卓越。進一步了解


Vue是一種非常流行的JavaScript前端框架,正在經歷巨大的發展。

它簡單,小巧(〜24KB)並且非常高效。感覺與所有其他JavaScript前端框架和視圖庫不同。讓我們找出原因。

首先,什麼是JavaScript前端框架?

如果不確定什麼是JavaScript框架,那麼Vue是一個完美的初次接觸。

JavaScript框架可幫助我們創建現代應用程序。現代JavaScript應用程序主要在Web上使用,但也為許多桌面和移動應用程序提供支持。

直到2000年代初,瀏覽器才具備現在所沒有的功能。它們的功能要弱得多,並且在它們內部構建複雜的應用程序在性能上是不可行的,而且工具甚至都不是人們所想的。

當Google推出瀏覽器中運行的兩個應用程序Google Maps和GMail時,一切都發生了變化。 Ajax使異步網絡請求成為可能,並且隨著時間的推移,開發人員開始在Web平台之上進行構建,而工程師則在該平臺本身上工作:瀏覽器,Web標準,瀏覽器API和JavaScript語言。

像jQuery和Mootools這樣的庫是第一個基於JavaScript的大型項目,並在一段時間內大受歡迎。他們基本上提供了一個更好的API與瀏覽器進行交互,並提供了各種瀏覽器之間的錯誤和不一致的解決方法。

諸如Backbone,Ember,Knockout,AngularJS之類的框架是現代JavaScript框架的第一波浪潮。第二波是當前波,其主要參與者是React,Angular和Vue。

請注意,jQuery,Ember和我提到的其他項目仍在大量使用,積極維護和數百萬個網站依賴它們。也就是說,技術和工具不斷發展,作為JavaScript開發人員,您現在可能需要了解React,Angular或Vue,而不是那些較舊的框架。

框架抽象了與瀏覽器和DOM的交互。與其通過在DOM中引用元素來操縱元素,我們聲明性地在更高的層次上定義並與他們互動。

使用框架就像使用C編程語言,而不是使用彙編語言來編寫系統程序一樣。就像使用計算機來編寫文檔而不是使用打字機一樣。這就像擁有自動駕駛汽車,而不是自己駕駛汽車。

好吧,不是很遠,但是您知道了。與其使用瀏覽器提供的低級API來操作元素,以及構建極其複雜的系統來編寫應用程序,您使用由非常聰明的人構建的工具,這使我們的生活更輕鬆

Vue的受歡迎程度

Vue.js的受歡迎程度是多少?

Vue有:

  • 7600 stars on GitHub in 2016
  • 36700 stars on GitHub in 2017

截至2018年6月,它在GitHub上擁有超過100.000+顆星。

它的npm下載數量每天都在增長,現在每週約有350.000次下載。

我會說Vue是很受歡迎,給出這些數字。

相對而言,它與React的GitHub明星數量大致相同,而這在幾年前就已經誕生了。

當然,數字並不是萬能的。我對Vue的印像是開發人員它。

Vue興起的關鍵時間點是Laravel生態系統中的採用,Laravel生態系統是一種非常流行的PHP Web應用程序框架,但是從那時起,它在許多其他開發社區中得到了廣泛的應用。

為什麼開發人員喜歡Vue

首先,Vue被稱為漸進框架

這意味著它可以適應開發人員的需求。雖然其他框架需要開發人員或團隊的完整支持,並且由於它們需要一些特定的約定而常常希望您重寫現有的應用程序,但Vue卻很高興通過一個簡單的方法進入您的應用程序script標籤,它可以隨您的需求而增長,從3行擴展到管理整個視圖層。

您不需要了解Webpack,Babel,npm或任何有關Vue入門的知識,但是當您準備就緒時,Vue可使您輕鬆依賴它們。

這是一個很大的賣點,尤其是在當前的JavaScript前端框架和庫生態系統中,這種生態系統傾向於疏遠新手和經驗豐富的開發人員,他們迷失在各種可能性和選擇的海洋中。

Vue.js可能是更容易接近的前端框架。有人稱Vue為新的jQuery,因為它很容易通過腳本標籤進入應用程序,並從那裡逐漸獲取空間。自從jQuery在過去幾年中統治了Web以來,它一直是一種讚美,現在它仍在大量站點上發揮作用。

Vue從最佳創意中挑選。它是通過挑選框架的最佳構想(例如Angular,React和Knockout)並櫻桃挑選這些框架的最佳選擇而構建的,並排除了一些不太出色的框架,從而開始了“最佳”設置並逐漸發展從那裡。

Vue.js在框架環境中的什麼位置

談到網絡開發時,房間裡的兩頭大像是反應角度的。 Vue如何相對於這兩個流行的大型框架定位自己?

Vue是由Evan You在Google上開發AngularJS(Angular 1.0)應用程序時創建的,它的誕生是出於創建更多高性能應用程序的需要。 Vue選擇了一些Angular模板語法,但是刪除了Angular所需的,自以為是的複雜堆棧,並使其表現出色。

新的Angular(Angular 2.0)也解決了許多AngularJS問題,但是方式非常不同,因此需要購買打字稿並非所有開發人員都喜歡使用(或想學習)。

那React呢? Vue從React獲得了很多好主意,最重要的是虛擬DOM。但是Vue通過某種自動依賴管理來實現它,該管理可跟踪哪些組件受狀態更改影響,以便在狀態屬性更改時僅重新呈現那些組件。另一方面,在React中,當影響組件的狀態的一部分發生變化時,該組件將被重新渲染,並且默認情況下,其所有子組件也將被重新渲染。為避免這種情況,您需要使用每個組件的shouldComponentUpdate方法並確定是否應重新呈現該組件。在易用性和開箱即用的性能方面,這給Vue帶來了一些優勢。

與React的一大不同是JSX。儘管您可以在Vue中使用JSX,但它不是一種流行的方法,而是使用了模板系統。任何HTML文件都是有效的Vue模板,而JSX與HTML截然不同,並且對於團隊中的人員(例如設計師)可能只需要與應用程序的HTML部分一起工作具有學習曲線。 Vue模板與Moustache和Handlebars非常相似(儘管它們在靈活性方面有所不同),因此,對於已經使用Angular和Ember等框架的開發人員來說,它們更加熟悉。

官方狀態管理庫Vuex遵循Flux架構,有點類似於Redux在其概念上。再次,這是關於Vue的積極事情的一部分,Vue在React中看到了這種良好模式,並將其借給了其生態系統。儘管可以將Redux與Vue結合使用,但Vuex是專門為Vue及其內部功能量身定制的。

Vue非常靈活,但是核心團隊維護著兩個軟件包,這對於任何Web應用程序(例如路由和狀態管理)來說都是非常重要的,這使得它的零散性要比React小得多,例如:vue-routervuex是Vue成功的關鍵。您無需選擇或擔心您選擇的該庫是否會在將來維護,並且會跟上框架更新的步伐,並且成為正式應用程序,它們是它們利基市場的典範(但您可以選擇當然使用您喜歡的東西)。

與React和Angular相比,把Vue放在不同的層次上的一件事是Vue是一個獨立遊戲項目:它沒有像Facebook或Google這樣的大型公司的支持。相反,它得到了社區的完全支持,該社區通過捐贈和讚助者促進發展。這可以確保Vue的路線圖不受單個公司議程的驅動。

免費下載我的Vue手冊


更多vue教程: