簡介
成都創(chuàng)新互聯(lián)是專業(yè)的江北網站建設公司,江北接單;提供網站建設、網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行江北網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!“簡單卻不失優(yōu)雅,小巧而不乏大匠”。
2016年最火的前端框架當屬Vue.js了,很多使用過vue的程序員這樣評價它,“vue.js兼具angular.js和react.js的優(yōu)點,并剔除了它們的缺點”。授予了這么高的評價的vue.js,也是開源世界華人的驕傲,因為它的作者是位中國人–尤雨溪(Evan You)。
Vue.js 是一個JavaScriptMVVM庫,是一套構建用戶界面的漸進式框架。它是以數(shù)據驅動和組件化的思想構建的,采用自底向上增量開發(fā)的設計。相比于Angular.js,Vue.js提供了更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js;同時比起 React + Redux 相對復雜的架構,Vue.js 更加輕量級也更加容易上手,是初創(chuàng)項目的選前端框架。Vue 的核心庫只關注視圖層,它不僅易于上手,還便于與第三方庫或既有項目整合。并且作者是華人的關系,Vue擁有著對華人開發(fā)者最友好的api文檔和官方教程。
調試插件
在vue調試方面,可以選擇安裝chrome插件vue Devtools。打開vue項目,在console控制臺選擇vue面板。在Devtools工具中,可以選擇組件,查看對應組件內的數(shù)據信息。也可以選擇Vuex選項,查看該項目內Vuex的狀態(tài)變量信息。
UI組件庫
在vue組件庫方面,個人不推薦使用UI組件庫,畢竟自己造輪子的過程還是很有成就感的。當然,如果更重視開發(fā)效率,并且選擇了vue2.0作為前端框架,那么餓了么推出的Element組件就是一個很不錯的選擇。其github項目(https://github.com/ElemeFE/element)更新比較頻繁,雖然項目會有些不穩(wěn)定,但是目前為止element就是最好的支持vue2.0的UI組件。就像它的口號一樣,“快速成型,就為讓你少加班”。
vue、React、Angular1對比
性能對比
在Angular1中,在scope作用域中每一次數(shù)據變化,會觸發(fā)watcher的重新計算,angular對常用的dom事件,xhr事件等做了封裝, 在里面觸發(fā)進入angular的digest流程。在digest流程里面,會從rootscope開始遍歷, 檢查所有的watcher。并且,如果一些 watcher 觸發(fā)另一個更新,臟檢查循環(huán)(digest cycle)可能要運行多次。Vue則沒有這個問題,因為它使用基于依賴追蹤的觀察系統(tǒng)并且異步隊列更新,數(shù)據的變化都是獨立處罰的,除非數(shù)據之間有明確的依賴關系。
vue官方宣稱vue的渲染性能優(yōu)于react。為了有理有據讓人信服,vue開發(fā)團隊建立了一個簡單的對比性能的項目(https://github.com/chrisvfritz/vue-render-performance-comparisons),它負責渲染10000個列表項100次。Vue官方將每一個參照項目都分別運行 20 次并取最好的結果結果如下圖:
由此可見,Vue的性能是遠好于Angular1,并且稍微優(yōu)于React的。
社區(qū)拓展對比
Angular1的背后是Google,所以社區(qū)基礎是不需要擔心的,從Tutorial到StackOverflow的問題數(shù)量都可以反映出生態(tài)系統(tǒng)很完整。Angular1之后的2.0版本幾乎是一個推翻重做的框架,對于使用了1.X版本的項目,想要平滑的升級過渡到2.0版本應該是非常困難的?,F(xiàn)在Angular2的線上應用數(shù)量還不算太多,主流編碼還是以1.X版本居多。這個版本化巨大的差異也間接影響到了開發(fā)者對于angular的信心。
Vue和React都有強大的社區(qū)支持。React有狀態(tài)管理庫Flux、ReduxVue,相應的,Vue有vuex。Vue 和 React 都提供了強大的路由庫來應對大型應用。然而Vue的路由庫和狀態(tài)管理庫都是由官方維護支持的。React 則是選擇把這些問題交給社區(qū)維護,因此創(chuàng)建了一個更分散的生態(tài)系統(tǒng)。但相對的,React 的生態(tài)系統(tǒng)相比 Vue 更加繁榮。此外,Vue 提供了Vue-cli 腳手架,包括了Webpack,Browserify,甚至路由庫,能讓你非常容易地構建項目。
學習陡峭度對比
在指令與組件方面,Vue中將指令和組件分得更清晰。指令只封裝 DOM 操作,而組件代表一個自給自足的獨立單元,有自己的視圖和數(shù)據邏輯。在 Angular1 中兩者有不少相混的地方。在API與框架設計方面,angular1都比vue要復雜的多。就個人感覺而言,angular1和React的學習曲線會相對陡峭一些,而vue的編碼方式會更趨近于前端開發(fā)者的編程習慣。
因為vue的作者是中國人,vue的官方網站、教程和api肯定是最完善、最易懂的。此外,每次大版本的發(fā)布,都會伴隨著詳盡的遷移說明文檔,包含了很多詳盡的闡述以及許多遷移的例子,甚至還有遷移工具。Angular的開發(fā)團隊你們就不覺得臉紅么…
Vue的使用非常的簡單,創(chuàng)建一個本地的 .html 文件,然后通過如下方式引入 Vue:
這樣就生成了vue的hello world應用。
渲染能力對比
ReactNative能使你用相同的組件模型編寫有本地渲染能力的 APP(iOS 和 Android)。能同時跨多平臺開發(fā),對開發(fā)者是非常棒的。為了彌補這方面的不足,在2016年9月舉辦的JSConf2016期間,vue.js的作者尤雨溪宣布加盟Weex團隊擔任技術顧問,雙方將進行更緊密的合作,共建開發(fā)生態(tài)圈。Weex 是阿里的跨平臺用戶界面開發(fā)框架,Weex 的 JavaScript 框架運行時用的就是 Vue。在此之后,在 Weex 的幫助下,使用 Vue 語法開發(fā)的組件不僅僅可以運行在瀏覽器端,還能被用于開發(fā) iOS 和 Android 上的原生應用。
Vue.js 的作者尤雨溪表示:“Weex選擇Vue作為其JavaScript運行時框架是讓我非常高興的一件事。Vue的組件開發(fā)模式已經被web開發(fā)者社區(qū)廣泛 認可,而把Vue的開發(fā)體驗拓展到原生平臺則是我一直想做但沒有余力去做的事情。一想到Weex將能讓開發(fā)者們用Vue的語法去寫跨 Web/Android/iOS三端的通用組件,就讓我很興奮?!?/p>
vue的缺點
Vue就這么好,難道沒有缺點嗎?當然有,vue雖然在16年非常火爆,但是相比于angular和react,不論是成熟度還是社區(qū)活躍度都還不是對手。此外,Vue明確聲明了自己放棄了對IE8的支持。再看看現(xiàn)在的招聘網站上,有多少寫了需要有angular經驗,而又有多少寫了需要vue經驗,就可見vue的影響力相比于angular和react還差的很遠。
vue全家桶及項目架構
Vue有著名的全家桶系列,包含了vue-router(http://router.vuejs.org),vuex(http://vuex.vuejs.org), vue-resource(https://github.com/pagekit/vue-resource)。再加上構建工具vue-cli,就是一個完整的vue項目的核心構成。
vue-router路由
推薦使用npm工具來安裝vue-router
npm install vue-router
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。