
很多人以為 Vue 是為了「取代」某個工具而出現的,但其實不太是這樣。
Vue的作者尤雨溪以前在Google Creative Lab工作,常常需要快速做出網頁原型。
那個時候他們使用的是Angular,喜歡上資料驅動畫面。但問題是 Angular的門檻太高了,為了用這個功能,得先學一堆額外的概念和規則,舉個例子想用個資料綁定,就得先把 module、controller、依賴注入這些東西全部學起來
所以他就想:乾脆把 Angular裡最好用的那塊抽出來,自己做一個Lite輕量版吧!就這樣Vue在2014年就此誕生。
說它想取代什麼的話,比較像是取代手動操作DOM的寫法。以前資料變了,要自己記得去改畫面;有了 Vue,只要改資料,畫面就會自己更新。

打開 Vue 官網,一進去就會看到超大的標題:The Progressive JavaScript Framework。這個 Framework 就是「框架」,那它跟函式庫(Library)又差在哪?
函式庫就像計算機,你想算的時候按它,它才幫你算,不按它就不會動。什麼時候用、用在哪裡,全部由你決定。
框架比較像學校的課表,上課時間、下課時間都已經排好了,你不用自己決定幾點要上課,只要負責每堂課要做什麼,鐘聲一響,就照課表進行。
像 Vue 的 onMounted,我們只是把函式丟進去,真正呼叫它的是 Vue,它會在元件掛載好的時候自己執行。
框架其實沒有幫 JavaScript 加什麼新功能,原生 JS 做得到的它才做得到,但它讓開發變得輕鬆很多:
宣告式渲染:只要描述畫面長怎樣,不用一步步下指令改 DOM
不過也要記得,這些「自動」的背後其實都是 JavaScript 在運作。JS 基礎越穩,Vue 就越好懂,這也是接下來這個系列會從 Proxy 這些基礎開始聊的原因。