首頁>Club>
13
回覆列表
  • 1 # 野生動物Frank

    Vue 和 Angular 我都使用過,並分別用這兩個框架開發過網站,目前仍然在上線執行。

    這裡首先需要澄清一下我下面的論述:

    關於

    Vue.js

    ,指的是 2.0+,關於 Angular,指的是 2.0 ~ 8.0

    Vue

    vue在國內很火,很多大大小小的公司開發前端應用都在使用它。因為作者尤雨溪同志在設計之初就將vue設定為簡單易學,快速上手,學習曲線平緩。所以深受廣大前端開發者的喜愛。它是一個漸進式的框架,通俗講就是用它開發Web App,一開始很小,隨著開發的進行,功能的增加,你的專案複雜度會慢慢的增加。所以vue很適合小型的前端應用,小型的前端應用結構簡單,功能較少。

    但是,一旦你要給你的專案裡新增更多的功能,vue就會要求你再去安裝其他的包,比如路由包 vue-router,比如 HTTP API 的前端 axios(用這個訪問後端伺服器的 API, 來向後端傳遞資料或者訪問後端伺服器來獲得資料)。這個過程就是“漸進”。

    再說說 vue 的語法。在它的控制模組 controller,語法還是比較簡潔的,2.0 版本採用的還是 Javascript 語法,去年 11 月釋出的 3.0 則採用的是 TypeScript。在它的檢視模組 View,則是將一些語法與HTML相結合,動態的生成最終的 html 程式碼。例如

    <h1>{{ title }}</h1>

    在你的 JS 程式碼中定義好這個 title 變數,並賦值,那麼在最終的HTML程式碼中這個花括號和title位置就會被變數title的實際的值替換掉。

    另外,在使用 vue 開發的時候,每一個 *

    .vue

    檔案都是一個模型 model,在模型中,會包含 HTML程式碼,CSS程式碼,JS 程式碼。這樣的設計就非常的緊湊,專案檔案的數量會比較少。但是你寫的程式碼多了之後,一個vue檔案就會很長,我個人非常痛苦,要不斷的拖拽視窗,撥動滑鼠滾輪,哈哈。

    好了,vue就先說到這裡,接下來講一講 Angular

    Angular

    Angular(簡稱 ng) 最早是由Google公司內部的一個工程師開發的,早期的 1.0 版本的語法非常繁瑣,很難寫,我個人學習前端框架,其實就是從 angular 1.0 開始的,吐了很多次血。到了 2.0 以後,ng 的架構就徹底的面向了 MVC(model-view-controller),將檢視、控制器、模型徹底分離,可以單獨開發。ng 的最大特點就是高度整合,你在開發專案的時候,對於 API 訪問、非同步操作等前端常見的功能,ng都已經有了內建的包,只需要依賴注入就可以了。比如

    import { HttpClient, Http } from "angular/core"

    ng 從 2.0 開始,就直接要求使用 TypeScript 語言(微軟出品,可以看作是OOP風格的JS,很好用,很規範)。每一個ng模組,都基本上由三個檔案組成,*.html, *.js, *

    .css

    。在ng的檢視檔案中(html),採用的是資料雙向繫結,例如:

    <input

    type="text"

    class="form-control"

    id="name" required

    [(ngModel)]="title"

    name="name"

    >

    這個title變數是與 js 檔案中的 title變數雙向繫結的,無論在頁面的輸入框裡修改title,還是透過 js 程式修改 title,都會改變這個變數 title 的值,你看到的效果就是輸入框裡的內容變化了。

    Angular的學習曲線比較陡峭,國內用的很少。但是我曾經和美國的哥們一起開發過 Web App,他們張口就是採用 Angular 4.0+。正好我也沒怯場。ng在國外用的比較多,適合多人協作開發規模較大的專案。

    補充

    我經常和我的學生交流,他們說去了一些培訓機構打聽後,前端課程裡也有vue,也有angular。但是我發現教授的angular都是

    angular.js

    ,這樣寫就表示 angular 1.0。現在已經過時了。所以如果你提問的目的是要去自學或者加入培訓機構,請擦亮眼睛,不要浪費時間。

    如果你提問的目的是要去求職,從事前端開發的工作,那麼在國內,沒辦法,Vue 你必須掌握,Angular 可以不去理會。

    另外,不要忘了目前前端框架江湖的三分天下局勢,道上還有另外一個框架,就是Facebook出品的,同樣出名的 React,有興趣和精力了,也可以去了解一下。

    最後,回到你的問題,哪個簡單易學? 是 Vue。哪個好 ?我個人認為它們不相上下,都是生產環境下可靠的框架,都不會讓你失望。

  • 中秋節和大豐收的關聯?
  • 夏天的約定的主要人物?