vue等單頁面應(yīng)用及其優(yōu)缺點 新手學(xué)習(xí)js是直接學(xué)vue,還是從jquery開始學(xué)?
新手學(xué)習(xí)js是直接學(xué)vue,還是從jquery開始學(xué)?本來不想寫,作為10年的老weber,在這里多嘴幾句!web技術(shù)變化太快,而jquery卻到現(xiàn)在都沒有淘汰,想一想為什么!還有,vue等新框架,確
新手學(xué)習(xí)js是直接學(xué)vue,還是從jquery開始學(xué)?
本來不想寫,作為10年的老weber,在這里多嘴幾句!web技術(shù)變化太快,而jquery卻到現(xiàn)在都沒有淘汰,想一想為什么!還有,vue等新框架,確實簡化了編程的繁瑣度,這是他的優(yōu)點。但是,vue能做的,jquery都能做,jquery能做的,vue不一定能做。同樣,jquery能做的,js都能做,而js能做的,jquery不一定能做!面試的時候,很多人說精通vue。而精通,是指精通vue的源碼和思想。一問,十不知!只能說會vue!js,看著很簡單,沒個五六年,不能說精通js。個人建議,先學(xué)js基礎(chǔ),然后jquery和vue,數(shù)據(jù)模型驅(qū)動要學(xué),操作dom也要會。同時,再回去學(xué)習(xí)js,不斷的反復(fù)。不要局限于一種方式,過時的是框架,不是語言!
使用Vue等框架的首要原因是為了開發(fā)效率,還是減少DOM操作的性能損失?
很多半吊子的程序員開口就喜歡談?wù)撔阅?,動不動就是“這個框架性能不行,不如原生XX快”等等,如何評價這種說法呢?硬要說的話,速度確實是一個非常重要的因素,但是很多項目其實并不那么追求速度,大部分情況下,開發(fā)效率這個因素都要大于項目的運行速度,要明白,人的效率永遠(yuǎn)應(yīng)該是第一需求。
前端開發(fā)也是這樣,其實原來大家都用jQuery這些東西,簡單粗暴,直接操作界面,想實現(xiàn)什么功能直接擼就完事了。但是在項目逐漸復(fù)雜起來之后,這樣的開發(fā)方式就會出現(xiàn)一個問題:代碼組織度極低,項目可維護性差,特別是當(dāng)項目中很多頁面有層級關(guān)系時候,很容易把自己繞暈。
因此Vue、React、Angular等框架應(yīng)運而生了,他們利用MVVM等設(shè)計模式,在更高層級抽象頁面開發(fā)邏輯,使用他們開發(fā)不再需要直接操作DOM了,而且相比于傳統(tǒng)的開發(fā)方式,這些前端框架更加注重“數(shù)據(jù)流”?,F(xiàn)在不應(yīng)該把網(wǎng)頁看做是一個網(wǎng)頁,而是將它看做是一個網(wǎng)頁形式呈現(xiàn)的應(yīng)用。這樣將數(shù)據(jù)和行為分開以后,前端開發(fā)也更加清晰了,這也是前端發(fā)展的一個重要標(biāo)志。
雖然這些框架使用虛擬DOM等技術(shù),相比于直接操作DOM要慢一點,但是因為采用了合理的抽象,因此開發(fā)效率是遠(yuǎn)遠(yuǎn)超過傳統(tǒng)前端的。試想一下,這兩種方法開發(fā)出來的項目運行效率差0.5%,但是傳統(tǒng)開發(fā)要多一倍的bug,要是你的話,你會選哪種呢?
vue搭配什么做前端開發(fā)比較好?
Vue 是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時,Vue 也完全能夠為復(fù)雜的單頁應(yīng)用提供驅(qū)動。
1、如果你是在做pc端的應(yīng)用,最好的選擇是ElementUI。
npm i element-ui -S
最簡單的UI寫法:http://element-cn.eleme.io/#/zh-CN/component/installation
2、APP mobile應(yīng)用的話,最好選擇AUI或ionIc
文檔:http://www.auicss.com/doc/v/2/doc_id/1
AUI 2.0是一套全新的AUI框架,在1.X基礎(chǔ)上進(jìn)行了重新架構(gòu)。在2.0中,全局使用rem控制尺寸,完美適應(yīng)不同分辨率移動設(shè)備;新加入的主題樣式表方便開發(fā)者自定義基礎(chǔ)顏色樣式,完成APP主題的定制。完美兼容IOS 5.1 到Android 4.2 。因此我認(rèn)為他是一款不錯的UI插件。