在學習 Vue.js 之前,讀者應該已經學習過 HTML、CSS 和 JavaScript 基本知識,本文主要介紹 Vue.js 是什麼,它有什麼特點和優勢。
Vue.js 是一套響應式的 JavaScript 開發庫。其他前端開發庫也有很多,比如 jQuery、ExtJS、Angular 等。
Vue.js 自問世以來所受關注度不斷提高,在現在的市場上,Vue.js 是非常流行的 JavaScript 技術開發框架之一。
Vue.js 是什麼?
在介紹 Vue.js 是什麼之前,我們先來簡單介紹一下它的作者尤雨溪(Evan You),以及它的由來。
尤雨溪
尤雨溪是一位美籍華人,在上海復旦大學附中讀完高中後,在美國完成大學學業,本科畢業於 Colgate University,後在 Parsons 設計學院獲得 Design & Technology 藝術碩士學位。他是 Vue Technology LLC 創始人,曾經在 Google Creative Lab 就職,參與過多個專案的介面原型研發,後加入 Meteor,參與 Meteor 框架本身的維護和 Meteor Galaxy 平台的互動設計與前端開發。
2014 年 2 月,尤雨溪開源了一個前端開發庫 Vue.js。Vue.js 是構建 Web 介面的 JavaScript 庫,也是一個通過簡潔的 API 提供高效資料系結和靈活元件的系統。
2016 年 9 月 3 日,在南京的 JSConf 上,尤雨溪正式宣布以技術顧問的身份加盟阿里巴巴 Weex 團隊,來做 Vue 和 Weex 的 JavaScript runtime 整合,目標是讓大家能用 Vue 的語法跨三端。
目前,尤雨溪全職投入 Vue.js 的開發與維護,立志將 Vue.js 打造成與 Angular/React 平起平坐的世界頂級框架。
Vue.js 核心理念
Vue.js(讀音/vju:/,發音類似於view)是一套構建使用者介面的漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。
Vue 的核心庫只關注檢視層,並且非常容易學習,也非常容易與其他庫或已有專案整合。Vue 完全有能力驅動採用單檔案元件和 Vue 生態系統支援的庫開發的複雜單頁應用。
Vue.js 還提供了 MVVM 資料系結和一個可組合的元件系統,具有簡單、靈活的 API,其目標是通過儘可能簡單的 API 實現響應式的資料系結和可組合的檢視元件。
我們也可以說 Vue.js 是一套響應式系統(Reactivity System)。資料模型層(Model)只是普通 JavaScript 物件,如下圖所示,
{ }
代表一個 JavaScript 物件,修改它則更新相應的 HTML 片段(DOM),這些 HTML 片段也稱為“檢視(view)”。這會讓狀態管理變得非常簡單且直觀,可實現資料的雙向系結,所以我們也稱之為響應式系統。