angular和 react vue的比较
思考
工欲善其事,必先利其器,在选择任何工具之前,需要回答两个简单的问题:它本身是好用的工具吗,是否适合我的使用场景。如果觉得问题太笼统,我们还可以分解成一些小的问题。
工具本身的问题:
• 他的成熟度以及背后支持它的是谁?
• 他又什么样的特性?
• 他是用什么样的架构,开发范式,和模式?
• 围绕它的生态圈怎么样》
自我反思的问题:
我和我的同事能否轻松地学会使用它?
• 他适合我的项目吗?
• 它的开发体验怎么样?
用这一系列的问题,你可以评估任何工具。
风险
作为一个熟练开发这的主要能力就是能够在就技术和前言技术之间保持平衡,管理师,当采用还未成熟的新工具是,应注意一些风险:
• 工具可能有缺陷并且不稳定
• 他可能会被供应商以外抛弃
• 假设你需要帮助,可能没有一个大型的知识库或者成熟的社区、
react主要有FaceBook开发维护的,并且用在了他们的产品线上,他是Github上最流行的库之一,
angular主要有google 维护并且用在产品上,很明显,短期内不会消失,
vue是前 Google 员工 Evan You 的开发的,并于2014年发布,现已获得了超过57,000个 GitHub star。Vue 可以帮助开发人员以任何想要的方式来构建应用程序,这是 Angular 做不到的。
特性
Angular
为很多现代Web应用所需的开箱即用的特性,一些标准特性:
• 依赖注入
• 一HTML扩展版本为基础实现模板
• 由@angular/router提供路由功能
• 利用@angular/http实现ajax请求
• 利用@angular/forms常见表单
• css组件化
• xss防御
• 单元测试组件
当你自己不想花费时间去挑选类库的时候,有这么多开箱即用的特性是很方便的。 而这也意味着你被它们束缚在了一起,即使你不需要它们。并且,通常替换它们需要付出更多的努力。
React
使用react,入门更加简单,特性:
• 无依赖注入
• JSX,通过JavaScript实现类XML语言
• XSS防御
• 单元测试组件
特性不多,未必不是好事。这意味着根据需求选择第三方类库的时候,你有更多的*度。不好的是你不得不自己做出选择。经常与 React 一起使用的流行类库有:
• 路由 React-router
• HTTP请求 Fetch (or axios)
• CSS 封装 wide variety of techniques
• 额外的单元测试工具 Enzyme
vue
• 容易使用
如果你一直在使用其它框架,那么你可以轻松使用 Vue,因为 Vue 的核心库专注于 View 层,你可以轻松地将其与第三方库进行整合并与现有项目一起使用。
• 轻便
由于 Vue 主要关注于 ViewModel 或双向数据绑定,因此 Vue 很轻便。Vue 也具有十分基础的文档。Vue 用做 View 层,意味着开发者可以将它用作页面中的亮点功能,比起全面的 SPA,Vue 提供了更好的选择。
• 学习曲线很低
熟悉 HTML 的开发人员会发现 Vue 的学习曲线很低,同时对于经验较少的开发人员和初学者来说,也能够快速地学习和理解 Vue。
• 双向绑定
Vue 提供了 v-model 指令(用于更新用户输入事件的数据),使得在表单输入和结构元素上实现双向绑定变得很容易。它可以选择正确的方式来更新输入类型相关的元素。
• 虚拟 DOM
由于 Vue 是基于 Snabbdom 的轻量级虚拟 DOM 实现,因此 Vue 的性能有些许的提升。这是虚拟 DOM 的主要新功能之一,开发者可以直接进行更新。当你需要在实际的 DOM 中进行更改时,只需执行一次这样的更新功能。
• 基于 HTML 模板的语法
Vue 允许开发者直接将渲染的 DOM 绑定到底层的Vue实例数据上。这是一个很有用的功能,因为它可以让开发者扩展基本的 HTML 元素,来保存可复用的代码。
参考链接:
深入比较选择 Angular 还是 React
Angular和Vue.js 深度对比
下一篇: win10右键打开PowerShell
推荐阅读
-
使用Angular9和TypeScript开发RPG游戏的方法
-
详解Angular路由 ng-route和ui-router的区别
-
Mysql数据库Char和Varchar字段类型长度的选择比较
-
Angular应用里的@Input和@Output注解使用方法介绍
-
Oracle Decode()函数和CASE语句的比较
-
MySQL中select into 和SQL中的select into 比较
-
Vue组件和Route的生命周期(详细教程)
-
MySQL备份工具mysqldump和mydumper的备份效率比较
-
解析php addslashes()与add*es()函数的区别和比较_PHP教程
-
vue中keepAlive组件的作用和使用方法详解