官术网_书友最值得收藏!

1.5.4 我們?yōu)槭裁匆褂肰ue框架

在真正開始學習Vue之前,還有一個問題至關重要,就是我們?yōu)槭裁匆獙W習它。

首先,做前端開發(fā),你一定要使用一款框架,這就像生產產品的工廠有一套完整的流水線一樣。在學習階段,我們可以直接使用HTML、CSS和JavaScript開發(fā)一些簡單的靜態(tài)頁面,但是要做大型的商業(yè)應用,要完成的代碼量非常大,要編寫的功能函數(shù)非常多,而且對于交互復雜的項目來說,如果不使用任何框架來開發(fā)的話,后期維護和拓展也會非常困難。

既然一定要使用框架,那么我們?yōu)槭裁匆x擇Vue呢?在互聯(lián)網Web時代早期,前后端的界限還比較模糊,有一個名為jQuery的JavaScript框架非常流行,其內部封裝了大量的JavaScript函數(shù),可以幫助開發(fā)者操作DOM,并且提供了事件處理、動畫和網絡相關接口。當時的前端頁面更多的是用來展示,因此使用jQuery框架足夠應付所需要進行的邏輯交互操作。后來隨著互聯(lián)網的飛速發(fā)展,前端網站的頁面越來越復雜,2009年就誕生了一款名為AngularJS的前端框架,此框架的核心是響應式與模塊化,其使得前端頁面的開發(fā)方式發(fā)生了變革,前端可以自行處理非常復雜的業(yè)務邏輯,前后端職責開始逐漸分離,前端從頁面展示向單頁面應用發(fā)展。

AngularJS雖然強大,但其缺點也十分明顯,總結如下:

(1)學習曲線陡峭,入門難度高。

(2)靈活性很差,這意味著如果要使用AngularJS,就必須按照其規(guī)定的一套構造方式來開發(fā)應用,要完整地使用其一整套的功能。

(3)由于框架本身龐大,使得速度和性能略差。

(4)在代碼層面上,某些API的設計復雜,使用麻煩。

只要AngularJS有上述問題,就一定會有新的前端框架來解決這些問題,Vue和React這兩個框架就此誕生了。

Vue和React在當下前端項目開發(fā)中平分秋色,它們都是非常優(yōu)秀的現(xiàn)代化前端框架。從設計上,它們有很多相似之處,比如相較于功能齊全的AngularJS,它們都是“骨架”類框架,即只包含最基礎的核心功能,路由、狀態(tài)管理等功能都是靠獨立的插件來支持的。并且在邏輯上,Vue和React都是基于虛擬DOM樹的,改變頁面真實的DOM要比虛擬DOM的更改性能開銷大很多,因此Vue和React的性能都非常優(yōu)秀。Vue和React都采用組件化的方式進行編程,模塊間通過接口進行連接,方便維護與拓展。

當然,Vue與React也有很多不同之處,Vue的模板編寫采用的是類似HTML的方式,寫起來與標準的HTML非常像,只是多了一些數(shù)據(jù)綁定或事件交互的方法,入手非常簡單。而React則是采用JSX的方式編寫模板的,雖然這種編寫方式提供的功能更加強大一些,但是JavaScript混合XML的語言會使得代碼看起來非常復雜,閱讀起來也比較困難。Vue與React還有一個很大的區(qū)別在于組件狀態(tài)管理,Vue的狀態(tài)管理本身非常簡單,局部的狀態(tài)只要在data中進行定義,其默認就被賦予了響應性,在需要修改時直接對相應屬性進行更改即可,對于全局的狀態(tài)也有Vuex模塊進行支持。在React中,狀態(tài)不能直接修改,需要使用setState方法進行更改,從這一點來看,Vue的狀態(tài)管理更加簡潔一些。

總之,如果你想盡快掌握前端開發(fā)的核心技能并能上手開發(fā)大型商業(yè)項目,Vue一定不會讓你失望。

主站蜘蛛池模板: 溧阳市| 龙游县| 秀山| 茌平县| 文登市| 连江县| 定兴县| 敖汉旗| 栾城县| 凯里市| 信阳市| 深水埗区| 长治市| 玉门市| 黑水县| 建德市| 霍城县| 会宁县| 彝良县| 麻阳| 喀喇| 无极县| 醴陵市| 准格尔旗| 林西县| 五莲县| 崇阳县| 建昌县| 远安县| 札达县| 青阳县| 万载县| 濮阳县| 聂荣县| 岱山县| 丹阳市| 郓城县| 蕲春县| 邛崃市| 宽甸| 泗洪县|