剛剛結(jié)束了 NG-CONF 2016,Angular 2 發(fā)布了 rc 版本,所以來更新下這個(gè)答案。。
1. ng2 的大小問題已解決
最新版本的運(yùn)行時(shí)大小比較(min + gzip)
- ng1: 55kb
- ng2: 45kb
- vue: 29kb
Angular 2 現(xiàn)在可以通過 Offline Compile 節(jié)約大量的運(yùn)行時(shí)大?。ㄍ瑫r(shí)還有首次渲染時(shí)間)。
雖然仍然稍微比 Vue 要大,但是最為一個(gè)大而全的一體化解決方案性價(jià)確實(shí)是很高了的。
2. ng2 有更加廣泛的多端支持
最新的官方支持實(shí)現(xiàn)有:
目前來說的話,對 Vue 而言,SSR 是沒有的(雖然 Vue 2 支持起來可能不難),React Native 是沒有的(雖然說有 Weex,但是對于國內(nèi)的 KPI 項(xiàng)目又出的這么慢可能要考慮下生態(tài)問題,而且 Vue 并沒有實(shí)現(xiàn)核心邏輯與渲染邏輯分離,Weex 到底是 Vue 的多端實(shí)現(xiàn)支持還是一個(gè)和 Vue 相似 API 的另一個(gè)框架都有存疑),移動端 Hybrid 也沒有 Ionic 這樣現(xiàn)有的簡單解決方案(當(dāng)然自己基于 Cordova 搭建也是可以的)。
3. Angular 2 也有了自己的 CLI 工具
這個(gè)只是剛剛扯平,Angular CLI,Vue 也有。

4. Angular 2 更加測試友好
Angular 2 提供了各種 Helper Function,在測試中可以更加簡潔高效,便于細(xì)粒度控制。

5. Angular 2 更加工具友好
Angular 2 的主體是的 JavaScript(TypeScript),而 Vue 的主體是 HTML(Vue),前者可以較為方便地使用現(xiàn)有工具完成代碼提示、代碼檢查等,而后者往往需要額外的編輯器或 IDE 插件支持。
PS:個(gè)人項(xiàng)目和大公司主導(dǎo)項(xiàng)目本身并沒有什么優(yōu)劣之分,尤老師說的個(gè)人項(xiàng)目的自由度更高當(dāng)然是對的,但是精力有限確實(shí)也是客觀的事實(shí),比如 Google 現(xiàn)在基本是要把 Angular 2 從 Framework 做成 Platform,從工作量級上這個(gè)程度個(gè)人確實(shí)是很難實(shí)現(xiàn)的。
--- 原回答---
截至回答時(shí)的問題為:Angular2 相比 Vue 有什么優(yōu)勢?
所以問題要求就是只談優(yōu)勢,并不是客觀的對比。(只針對框架本身)
1. Angular2 由 Google 主導(dǎo),而 Vue 由個(gè)人主導(dǎo)。
并不是說能力方面,但考慮到個(gè)人的經(jīng)費(fèi)和精力等多方面原因,團(tuán)隊(duì)項(xiàng)目要比個(gè)人項(xiàng)目在多方面因素上更為靠譜。
2. Angular2 旨在提供通用的【前】端方案,而 Vue 僅專注于 Web。
作為框架而言 Angular2 在實(shí)現(xiàn)上具有更高的抽象層次,不僅可以開發(fā) Web 應(yīng)用(面向 DOM),還可以開發(fā)客戶端應(yīng)用(面向 Native UI),比如搭配 NativeScript。
3. Angular2 有原生的 Isomorphic 解決方案,而 Vue 只能靠第三方庫或服務(wù)。
服務(wù)器端渲染可以提供良好的 SEO 以及首頁加載的性能優(yōu)化,而 Angular2 有官方提供的服務(wù)器端渲染支持,可以解決 Vue 等純前端框架無法解決的痛點(diǎn)。
4. Angular2 具有更廣泛的開發(fā)語言支持,而 Vue 只有 JavaScript 支持。
Angular2 官方提供 TypeScript、JavaScript 以及 Dart 的開發(fā)支持(不同的分發(fā)版本,不同的文檔),并且能夠在行為和形式上基本保持一致性(幾乎相同的 API)。而 Vue 本身只有 JavaScript 支持,其他語言只能單純靠編譯到 JavaScript 實(shí)現(xiàn)。
5. Angular2 的數(shù)據(jù)綁定在使用上更為簡單。
Angular2 支持綁定到任何普通的 JavaScript 對象,并且不會對對象造成任何改變,通過 zone.js 實(shí)現(xiàn)任意位置的異步操作后的數(shù)據(jù)自動同步。而 Vue 對于一些復(fù)雜對象的復(fù)雜操作,需要手動調(diào)用 setter 來通知 Vue 進(jìn)行更新,操作上更為復(fù)雜。
6. Angular2 的綜合性能確實(shí)比 Vue 更好。
參見各種跑分。
7?. 使用 Angular 2 更有助于淘汰落后瀏覽器,促進(jìn)社會進(jìn)步。
RT。
8?. Angular2 的最新版本號約是 Vue 的兩倍,更具氣勢。
RT。
9?. Angular2 仍然在 Beta 階段,相對于 Vue 而言具有更多找 BUG 發(fā) PR 的機(jī)會。
RT。