vue,React 和 Angular 都是目前比较流行的前端框架, 不同的企业对其前端工作者有不同的要求, 那么这三个框架之间有什么样的区别呢? 下面本篇文章就来给大家介绍一下.
什么是 Vue?
Vue 是一套用于构建用户界面的渐进式 JavaScript 框架. 与其它大型框架不同的是, Vue 被设计为可以自底向上逐层应用. Vue 的核心库只关注视图层, 方便与第三方库或既有项目整合.
与其他重量级框架不同的是, Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层, 并且非常容易学习, 非常容易与其它库或已有项目整合. 另一方面, Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用.
什么是 React?
React 是一个用于构建用户界面的 JavaScript 库, 所有 React 应用程序的核心都是组件. 组件是一个自包含的模块, 可以呈现一些输出, 组件是可组合的. 组件可能在其输出中包含一个或多个其他组件.
React 的优点:
1, 它提供最大的灵活性和响应能力.
2, 由于它是基于文档对象模型, 所以它允许浏览器友好地以 html,XHTML 或 xml 格式排列文档.
3, 具有丰富的 JavaScript 库
4, 具有很好的灵活的结构和可扩展性
5,React 提供了 React Native 平台, 可通过相同的 React 组件模型为 iOS 和 Android 开发本机呈现的应用程序.
什么是 Angular?
Angular 是一个是一个用 HTML,CSS 和 JavaScript / TypeScript 构建客户端应用程序的开源 web 应用程序框架., 由 Google 的 Angular 团队以及个人和公司社区领导.
Angular 是建造 AngularJS 的同一个团队的完全重写. 为了避免混淆, 该团队宣布应该为每个框架使用单独的术语, 其中 "AngularJS" 指的是 1.X 版本, 而 "Angular" 指的是没有 "JS" 指的是版本 2 及更高版本.
Angular 的优点
Angular 提供一个非常干净和维护的方式来创造单页的应用.
Angular 提供数据绑定功能在 HTML 中, 从而给用户提供丰富和响应的体验
Angular 代码可进行单元测试.
Angular 使用依赖注入和利用关注点分离.
Angular 提供了可重用的组件.
使用 Angular, 开发人员编写更少的代码, 并获得更多的功能.
在 Angular 中, 视图都是纯 HTML 页面, 并用 JavaScript 编写控制器做业务处理.
Vue 和 React 和 Angular 的区别
1,vue.js 更轻量, 压缩后大小只有 20K+, 但 React 压缩后大小为 44k,Angular 压缩后大小有 56k, 所以对于移动端来说, vue.JS 更适合;
2,vue.JS 更易上手, 学习曲线平稳, 而 Angular 入门较难, 概念较多(比如依赖注入), 它使用 java 写的, 很多思想沿用了后台的技术; react 需学习较多东西, 附带 react 全家桶.
3,vue.JS 吸收两家之长, 借用了 angular 的指令 (比如 v-show,v-hide, 对应 angular 的 ng-show,ng-hide) 和 react 的组件化(将一个页面抽成一个组件, 组件具有完整的生命周期)
4,vue.JS 还有自己的特点, 比如计算属性
vue | React | angular | |
---|---|---|---|
控制器 | 无 | 无 | 有 |
过滤器 | 无 | 无 | 有 |
指令 | 有 | 无 | 有 |
渲染指令 | 有 | 无 | 有 |
数据绑定 | 双向 | 单向 | 双向 |
来源: http://www.css88.com/qa/angular-js/12012.html