眾創時代
維護網上百科全書Wikipedia的Wikimedia Foundation(WMF)經常多月考慮,決定採用Vue.js,作為JavaScript前端框架改良介面,放棄Facebook開源框架React。
Wikimedia的選擇Vue.js,顯示開源軟件威力,揭櫫了複雜專案也可不分畛域,以協同開發方式,分散各地維護,甚至達到企業級質素。
Wikimedia正使用jQuery「套件」,以元素選取器,不同瀏覽器複雜的差異,藏於套件之中。不過,透過元素選取器及監聽,開發人員得依據用戶行為,靈活操作 DOM 元素結構及樣式,jQuery一直很實用,但無法分離JavaScript處理多種邏輯,導致維護困難。
Google推出AngularJS前端MVC框架。程式員從框架以套件方式,打造Web應用,加快開發的時間。AngularJS過於笨重,限制多多;其後Facebook也推出React,依賴不少外部元件,也難以上手,加上有法律爭議。Vue.js以靈活和豐富函式庫,可為網站設計帶來亮麗外表,終於被Wikimedia雀屏中選。
Vue.js也是程式開發的傳奇故事之一;源於一位華裔程式員的業餘興趣,經過7年發展,演變成最具影響力開源計畫之一。開發Vue.js的尤雨溪(Evan You),畢業於上海復旦附中,從中國赴美求學,Colgate大學畢業後從Parsons設計學院獲Design & Technology藝術碩士,以HTML5版重新打造Clear介面。Clear是以手勢管理日常排程的APP),以手勢操作(Gesture Control)拖拽任務和滑動完成,作為排序日程任務,同時通過兩個手指操作上下級介面、向左滑動刪除任務、中間添加任務,非常易於上手。
尤雨溪利用HTML5重新打造Clear介面,並獲《Hacker News》報導,以HTML5建立應用介面的各種可能性,引起Google招聘 人員的注意。
不少,尤雨溪就獲邀加入紐約Google Creative Lab,當時Google的AngularJS屬於較成熟前端框架,尤雨溪發現AngularJS幫助綁定數據,但是限制太多,而Backbone等工具又沒有介面的函式庫,結果自行撰寫專門JavaScript,開發新介面,後來希望自行打造較輕盈工具,同步化DOM和JavaScript物件,結果就開發了Vue.js框架,以提昇工作效率,上載到Github後,一發不可收拾,用戶人數不斷增長。2014年加盟Meteor Development開發JavaScript時,尤雨溪業餘不斷改良Vue.js,已受到多方關注,2016年他終於離開了Meteor,全力專注Vue.js發展。
2015年,Vue.js框架獲得PHP後端框架Laravel創辦人 Taylor Otwell點評,獲得愈來愈多好評。後來Vue.js成為Laravel前端框架,兩者整合後,更多人認識和採用。
Vue.js快速開發Web單頁應用(Single Page Application,SPA),其流行跟動態應用的興起有關,便利前端與後端的分離。以動態重寫頁面方式,與用戶以Web互動,重要部份才從伺服端產生,優點一則便利搜尋引擎工作,需互動就交JavaScript處理,演變出更多互動效果,並降低伺服器負荷,又加強用戶體驗,頁面反應更迅速。
SPA只跟JSON的Non SQL數據庫溝通,切換由JavaScript控制,整個頁面就不用每次重讀,只在Router入口點不斷切換想要的資料,前後端更分離。前端工具獨立發展工具, 終於成為趨勢,Vue.js框架憑建立SPA優勢,穎脫而出。
Wikipedia並不是SPA,但前端JavaScript「框架」也變成提升開發效率、降低維護難度開發Web應用架構;以Web標凖開發,開發人員利用框架各種功能,製作豐富前端操作。
除了管理Vue.js,尤雨溪也參與國內阿里巴巴Weex團隊,作為技術顧問加入 Weex 團隊來做 Vue 和 Weex 的 JavaScript runtime 整合,並推出跨平台方案,而國內滴滴開源也使用 Vue.js開發。
Vue.js已變成Github最受歡迎開源專案之一。同時,Vue.js的JavaScript框架或函數庫,所獲星標數已超過React,也高於Google的Angular 2,以至如Backbone.js等。業界兩大陣勢React和AngularJS,竟然敗於無名小子開發的Vue.js,可見全球的軟件開發,可以百花齊放。
尤雨溪之外,Vue.js只有一個全職成員蔣豪群負責 CLI 維護。全球各地20多成員維護GitHub 上倉庫以及文檔,也有人負責社區,管理論壇、聊天室、各地線下聚會等。嚴格而言,Vue.js還不是商業項目,而是自發形成的社區推動。