刚刚结束了 NG-CONF 2016,Angular 2 发布了 rc 版本,所以来更新下这个答案。。
1. ng2 的大小问题已解决
最新版本的运行时大小比较(min + gzip)
- ng1: 55kb
- ng2: 45kb
- vue: 29kb
Angular 2 现在可以通过 Offline Compile 节约大量的运行时大小(同时还有首次渲染时间)。
虽然仍然稍微比 Vue 要大,但是最为一个大而全的一体化解决方案性价确实是很高了的。
2. ng2 有更加广泛的多端支持
最新的官方支持实现有:
目前来说的话,对 Vue 而言,SSR 是没有的(虽然 Vue 2 支持起来可能不难),React Native 是没有的(虽然说有 Weex,但是对于国内的 KPI 项目又出的这么慢可能要考虑下生态问题,而且 Vue 并没有实现核心逻辑与渲染逻辑分离,Weex 到底是 Vue 的多端实现支持还是一个和 Vue 相似 API 的另一个框架都有存疑),移动端 Hybrid 也没有 Ionic 这样现有的简单解决方案(当然自己基于 Cordova 搭建也是可以的)。
3. Angular 2 也有了自己的 CLI 工具
这个只是刚刚扯平,Angular CLI,Vue 也有。

4. Angular 2 更加测试友好
Angular 2 提供了各种 Helper Function,在测试中可以更加简洁高效,便于细粒度控制。

5. Angular 2 更加工具友好
Angular 2 的主体是的 JavaScript(TypeScript),而 Vue 的主体是 HTML(Vue),前者可以较为方便地使用现有工具完成代码提示、代码检查等,而后者往往需要额外的编辑器或 IDE 插件支持。
PS:个人项目和大公司主导项目本身并没有什么优劣之分,尤老师说的个人项目的自由度更高当然是对的,但是精力有限确实也是客观的事实,比如 Google 现在基本是要把 Angular 2 从 Framework 做成 Platform,从工作量级上这个程度个人确实是很难实现的。
--- 原回答---
截至回答时的问题为:Angular2 相比 Vue 有什么优势?
所以问题要求就是只谈优势,并不是客观的对比。(只针对框架本身)
1. Angular2 由 Google 主导,而 Vue 由个人主导。
并不是说能力方面,但考虑到个人的经费和精力等多方面原因,团队项目要比个人项目在多方面因素上更为靠谱。
2. Angular2 旨在提供通用的【前】端方案,而 Vue 仅专注于 Web。
作为框架而言 Angular2 在实现上具有更高的抽象层次,不仅可以开发 Web 应用(面向 DOM),还可以开发客户端应用(面向 Native UI),比如搭配 NativeScript。
3. Angular2 有原生的 Isomorphic 解决方案,而 Vue 只能靠第三方库或服务。
服务器端渲染可以提供良好的 SEO 以及首页加载的性能优化,而 Angular2 有官方提供的服务器端渲染支持,可以解决 Vue 等纯前端框架无法解决的痛点。
4. Angular2 具有更广泛的开发语言支持,而 Vue 只有 JavaScript 支持。
Angular2 官方提供 TypeScript、JavaScript 以及 Dart 的开发支持(不同的分发版本,不同的文档),并且能够在行为和形式上基本保持一致性(几乎相同的 API)。而 Vue 本身只有 JavaScript 支持,其他语言只能单纯靠编译到 JavaScript 实现。
5. Angular2 的数据绑定在使用上更为简单。
Angular2 支持绑定到任何普通的 JavaScript 对象,并且不会对对象造成任何改变,通过 zone.js 实现任意位置的异步操作后的数据自动同步。而 Vue 对于一些复杂对象的复杂操作,需要手动调用 setter 来通知 Vue 进行更新,操作上更为复杂。
6. Angular2 的综合性能确实比 Vue 更好。
参见各种跑分。
7?. 使用 Angular 2 更有助于淘汰落后浏览器,促进社会进步。
RT。
8?. Angular2 的最新版本号约是 Vue 的两倍,更具气势。
RT。
9?. Angular2 仍然在 Beta 阶段,相对于 Vue 而言具有更多找 BUG 发 PR 的机会。
RT。