1. 程式人生 > >KgoUI(1) 之 技術選型angular 和 vue

KgoUI(1) 之 技術選型angular 和 vue

    框架原始碼:碼雲     

    最近幾年前端技術發生了很大的變化,新技術,新開發模式層出不窮。之前div+css+js 包打天下的時代已經不復存在了。說到前端技術目前最火的莫過於三大mvvm框架 vue (vue並不算是mvvm框架,應該說是個mvvm庫),angular 和react 。

目前我接觸過並有實操經驗的mvvm框架有angular和vue 到今天為止對react並不太瞭解。這裡我說一下對比angular和vue為什麼選擇VUE框架。(謹代表個人觀點)

 

第一:靈活性

上面說了vue不算是一個真正意義的mvvm框架,vue開發並不依賴webpack這種腳手架。Vue本身就可以在脫離webpack的環境中開發,到目前為止我在jsp檔案中整合過vue,在freemarker中整合過vue ,並且在html + javascript + css 的原生開發中使用了vue,當然開發效率最高的依舊是在使用vue提供的vue_cli 腳手架,在現在node的環境中搭建開換環境並使用webpack打包。

相對於vue,angular在angular.js之後進行了重做(angular.js和angular並不相容),這個算是兩大巨人的一次強強聯合,angular框架使用微軟的TypeScript進行新一代的angular框架開發。TypeScript官網支援所有瀏覽器(經過解釋之後支援所有瀏覽器

),因此angular是需要直譯器的,另外angular預設使用sass ,這個也需要相應的直譯器。

當然vue 也可以使用 TypeScript 和sass 但是需要自己整合,vue的腳手架目前也不支援直接使用typescript和sass(反正我沒看到)。

其實單是這一點足夠讓我選擇VUE了

注:在這個框架中我會選擇使用sass (全域性樣式,註解樣式,樣式塊真心很贊)。

第二:輕量 

Vue框架只有1萬行左右的程式碼(我看原始碼的時候是1萬行左右),這個去github上可以看到, 尤大神真心6的起飛。

angular相對於VUE就重太多了。

另外VUE採用了虛擬DOM ,因此我感覺 Vue 的速度/效能略微領先。

 

還有vue相對於angular還有些其他優勢,必須學習成本相對比較低等,但是我選擇VUE最主要的原因就是以上兩個。

當然angular也有很好的地方,依賴注入(熟悉spring的小夥伴這個概念一定很熟悉了),多瀏覽器的相容性,極其強大的命令列工具,腳手架的成熟程度真是比vue強太多了。