乐趣区

关于前端:前端框架VueReactAngular区别

以后,三大支流前端框架别离是 Vue、React、Angular 这三个框架。

Vue
是一个构建数据驱动的 Web 界面的库,精确来说不是一个框架,用于构建直观,疾速和组件化交互式界面的 MVVM 框架。
它有以下的个性:1. 轻量级的框架、2. 双向数据绑定、3. 指令、4. 插件化
长处:

  1. 简略:官网文档很清晰,比 Angular 简略易学。
  2. 疾速:异步批处理形式更新 DOM。
  3. 组合:用解耦的、可复用的组件组合你的应用程序。
  4. 对第三方敌对:在引入第三方 js 时很不便。

毛病:我想说的,Vue.js 十分棒,像任何其它框架 / 库一样,自身简直没有什么毛病。我还是在上面列出我所晓得的 Vue.js 为数不多的几个毛病:
1、主代码为尤雨溪集体所写,社区小待成熟;2、不反对 IE8;3、相比于其它两个框架,影响度不大,丰富性不够。

REACT
React 起源于 Facebook 的外部我的项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。React 领有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和应用它。它有以下的个性:

1. 申明式设计:React 采纳申明范式,能够轻松形容利用。
2. 高效:React 通过对 DOM 的模仿,最大限度地缩小与 DOM 的交互。
3. 灵便:React 能够与已知的库或框架很好地配合。

长处:

  1. 速度快:在 UI 渲染过程中,React 通过在虚构 DOM 中的微操作来实现对理论 DOM 的部分更新。
  2. 跨浏览器兼容:虚构 DOM 帮忙咱们解决了跨浏览器问题,它为咱们提供了标准化的 API,甚至在 IE8 中都是没问题的。
  3. 模块化:为你程序编写独立的模块化 UI 组件,这样当某个或某些组件呈现问题是,能够不便地进行隔离。
  4. 单向数据流:Flux 是一个用于在 JavaScript 利用中创立单向数据层的架构,它随着 React 视图库的开发而被 Facebook 概念化。
  5. 同构、纯正的 javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是 JavaScript 的执行,预渲染你的利用有助于搜索引擎优化。
    6. 兼容性好:比方应用 RequireJS 来加载和打包,而 Browserify 和 Webpack 实用于构建大型利用。它们使得那些艰巨的工作不再让人望而却步。

毛病:
React 自身只是一个 V 而已,并不是一个残缺的框架,所以如果是大型项目想要一套残缺的框架的话,根本都须要加上 ReactRouter 和 Flux 能力写大型利用。

Angular
Angular 是一款优良的前端 JS 框架,曾经被用于 Google 的多款产品当中。
它有以下的个性:1. 良好的应用程序构造、2. 双向数据绑定、3. 指令、4.HTML 模板、5. 可嵌入、注入和测试
长处:

  1. 模板功能强大丰盛,自带了极其丰富的 angular 指令。
  2. 是一个比较完善的前端框架,蕴含服务,模板,数据双向绑定,模块化,路由,过滤器,依赖注入等所有性能;
  3. 自定义指令,自定义指令后能够在我的项目中屡次应用。
  4. ng 模块化比拟大胆的引入了 Java 的一些货色(依赖注入),可能很容易的写出可复用的代码,对于麻利开发的团队来说十分有帮忙。
  5. angularjs 是互联网伟人谷歌开发,这也意味着他有一个松软的根底和社区反对。

毛病:

  1. angular 入门很容易 但深刻后概念很多, 学习中较难了解.
  2. 文档例子非常少, 官网的文档根本只写了 api, 一个例子都没有, 很多时候具体怎么用都是 google 来的, 或间接问 misko,angular 的作者.
  3. 对 IE6/7 兼容不算特地好, 就是能够用 jQuery 本人手写代码解决一些.
  4. 指令的利用的最佳实际教程少, angular 其实很灵便, 如果不看一些作者的应用准则, 很容易写出 四不像的代码, 例如 js 中还是像 jQuery 的思维有很多 dom 操作.
  5. DI 依赖注入 如果代码压缩须要显示申明.

从我集体来讲,VUE 因为学习成本低,很适宜小企业或者学校实验室的我的项目开发,而 react 是最灵便的,用户的可控性更强些,angular 是基于 TypeScript 的,所以在援用第三方插件时不如 VUE 不便,在日常抉择框架时:

如果您比其余性能更喜爱灵活性,请应用 React。
如果您喜爱在 TypeScript 中编码,请抉择 Angular。
如果您是 JavaScript 爱好者,请应用 React,因为它齐全与 JavaScript 无关。
如果您喜爱洁净的代码,请在您的应用程序中应用 Vue。
Vue 提供最简略的学习曲线,是初学者的现实抉择。
如果要在应用程序中拆散关注点,请应用 Vue。
如果您喜爱面向对象的编程,Angular 相对是您的抉择。
Vue 非常适合小型团队和小型我的项目。如果您的应用程序仿佛很大并且具备重要的将来扩大打算,请抉择 React 或 Angular。

退出移动版