Vue.js vs React vs Angular
优缺点
angular
- 优
是一个大而全的框架,适用于大中型项目。
- 缺
学习成本高
react
- 优
是一个小而精的库
- 缺
jsx,很多东西都得自己去手动处理。只注重view层的渲染。而把其它的东西都是有社区完成。也造成了,比如react-router4就跟之前不一样。版本变更不一致的坑爹行为。但是vue和angular则不会都是由官方维护,和框架一起发布变更。
vue
- 优
封装的一些东西对使用者比较友好,是三者中速度最快,体积最小的一个框架
- 缺
Vue.js
Vue.js 这个库让你可以将交互性和附加功能添加到任何使用 JavaScript 的编码环境中。Vue 既可以在单独的页面上用来解决简单的任务,也可以作为成熟的工业应用程序的基础。Vue.js 是一个用于构建图形用户界面的高级框架。它也可以与一些现代工具和附加库一起,用于构建复杂的单向应用程序。
Vue 库其中一个最大的优点是它不需要任何特殊知识。任何 Vue 应用程序都是使用 HTML、CSS 和 JavaScript 编写的——熟悉这些工具就可以立即投入工作。即使你以前从未做过客户端开发,也可以基于以前的 MVC 设计模式使用经验进行构建,这种模式与 MVVM 非常相似。
React
借助 React 库,我们可以轻松地创建交互式用户界面。集成 React 时,不需要更改当前项目的代码,它只负责渲染界面,不会额外带来痛苦。
React 系统支持用户界面更新,使得为应用程序创建健壮的模块化组件更加容易。React 库通过数据更新来实现大部分用户界面维护工作,这对开发人员来说非常令人愉快(难怪它如此受欢迎)。
Angular
Angular 差不多是一个完整的开发环境。它包含一整套程序,包括 TypeScript 编译器、AOT 编译器和 Web 服务器。Angular 的 Web 服务器用于调试使用这个框架开发的站点。它是用同一个 Angular CLI 实用程序启动的,要启动 Angular CLI,你需要在 Windows 命令行中进入项目文件夹,并执行 ng serve 命令。
-
Angular 借鉴了服务器端开发中的一些最佳特性,并用它们来扩展浏览器中的 HTML 标记。这样,创建具有增强功能的应用程序就更简单轻松了。Angular 应用程序基于 MVC 设计模式构建,这个模型致力于创建具有以下特征的应用程序:
-
易于扩展:如果你理解了基础知识,即使是最复杂的 Angular 应用,你也很容易就能够理解,这意味着你可以很轻松地扩展应用来提供实用的新功能。
-
易于维护:Angular 应用程序很容易调试,Bug 很容易修复,这意味着长期运行的 Angular 应用也很容易维护。
-
测试工具:Angular 有良好的 go mod 和端到端测试支持。因此,你可以在用户遇到之前找到并修复它们。
-
标准化:Angular 基于浏览器的内部功能,不会给你的工作带来任何阻碍。这让你可以创建符合标准的 Web 应用程序,包含最新的功能(例如,各种 HTML5 API)、流行的工具和框架。
-
这是一个框架——这意味着它设定了创建 Web 应用程序的规则,在初始阶段设定了特定的框架,让初学者可以少费脑筋。
-
Angular 功能极多,如果需要额外的东西,可以连接第三方模块。
Vue.js VS React:双向数据绑定
在 Vue 中,你可以轻松地将组件变量绑定到表单字段。当你更改变量时,表单字段会更新,当用户更改表单字段时,组件变量也会更新。这比编写 React 中的事件处理程序要容易得多。
此外,很多人喜欢用图表展示框架的受欢迎程度,其中 React 是 Angular 的 2 到 3 倍。它从创建移动应用程序(React Native)中获益颇多,因为与 Angular Ionic 相比,它更方便。至于 Web 应用程序(ReactJS)开发方面,一切就没那么简单了。
例如,对于 Web 应用程序,我发现,使用 Angular 比使用 ReactJS 更方便。
你可以自己尝试并比较不同的方向或技术。为此,你可以在谷歌趋势中输入一些关键字,它会为你画出漂亮的图表。
Vue.js vs React vs Angular
与之前的框架不同,Vue.js 是由一个人创建的,他认为 2013 年已经有的框架都太复杂。Vue 的第一个和第二个版本都是由一个人创建的,因此,在某些方面,它可能比竞争对手更糟糕,尤其是在安全方面。Vue 3 是由一个开发团队创建的,这意味着现在许多 Bug 和缺点都得到了修复,框架本身的效率也得到了提升。
我应该学习 React 还是 Angular?
最好同时学习 Angular 和 React。这两种框架各有优缺点。专家建议初学者首先学习 Angular,因为你所需的一切都是“开箱即用”的,这样更不容易犯错(框架会帮你控制)。在学习了 Angular 之后,你可以学习 ReactJS 和 React Native。另外,如果你只需要移动应用,你也可以直接跳到 React Native。事实上,你只需要学习框架的特性,仅此而已。其余的知识都是通用的(OOP、TypeScript、RP)。学习框架本身 1 到 2 周就足够了,你已经可以创建简单的 Web 应用程序了。
参考:
https://segmentfault.com/a/1190000039810547
https://www.infoq.cn/article/yco7sjgoasyumtwgqagt