上一章ReactJS实战教程请查看:React主要特性及其优点和缺点
AngularJSAngularJS是一个用于构建动态web应用程序的开源JavaScript框架,Misko Hevery和Adam Abrons在2009年开发了AngularJS,现在谷歌维护它。Angular的最新版本是2019年3月11日的1.7.8,它基于HTML和JavaScript,主要用于构建单个页面应用程序。它可以包含在带有<
script>标记的HTML页面中。它通过使用指令添加内置属性来扩展HTML,并使用表达式将数据绑定到HTML。
AngularJS的特点
- 数据绑定: AngularJS遵循双向数据绑定。它是模型和视图组件之间数据的自动同步。
- POJO模型: AngularJS使用POJO(普通的旧JavaScript)模型,它提供了自发的和精心设计的对象。POJO模型使AngularJS能够自给自足且易于使用。
- 模型-视图-控制器(MVC)框架: MVC是一种用于开发web应用程序的软件设计模式。AngularJS的工作模型是基于MVC模式的。AngularJS中的MVC架构简单、通用、动态,MVC使构建单独的客户端应用程序变得更加容易。
- 服务: AngularJS有几个内置的服务,比如$http,用于生成XMLHttpRequest。
- HTML用户界面: 在AngularJS中,用户界面是建立在HTML上的。它是一种声明性语言,具有更短的标记,易于理解。它提供了一个有组织的、平滑的、结构化的接口。
- 依赖注入: AngularJS有一个内置的依赖注入子系统,可以帮助开发人员轻松地创建、理解和测试应用程序。
- 谷歌上活跃的社区: AngularJS提供了优秀的社区支持,这是因为谷歌维护angularjs。所以,如果你有任何维护问题,有很多论坛可以让你得到你的查询解决。
- 路由: 路由是从一个视图到另一个视图的转换。路由是单页应用程序的关键方面,所有内容都在单页中。在这里,开发人员不希望用户每次单击菜单时都重定向到新页面。开发人员希望在URL更改的情况下在相同的页面上加载内容。
【ReactJS和AngularJS之间的区别 – ReactJS实战教程】Facebook的软件工程师乔丹·沃克(Jordan Walke)开发了它。最初,它是由Facebook开发和维护的,后来被用于WhatsApp和Instagram等产品。Facebook在2011年为新闻订阅部分开发了ReactJS,但在2013年5月向公众发布。
ReactJS的特点
- JSX:JSX是一个JavaScript语法扩展。JSX语法被处理成React框架的JavaScript调用。它扩展了ES6,使类似HTML的文本可以与JavaScript React代码共存。
- 组件: ReactJS是关于组件的。ReactJS应用程序由多个组件组成,每个组件都有自己的逻辑和控件。这些组件可以重用,这有助于你在处理大型项目时维护代码。
- 单向数据绑定: ReactJS遵循单向数据流或单向数据绑定。单向数据绑定使你能够更好地控制整个应用程序。如果数据流在另一个方向,那么它需要额外的特性。这是因为组件应该是不可变的,而其中的数据不能更改。
- 虚拟DOM: 虚拟DOM对象是真实DOM对象的表示。当web应用程序中发生任何修改时,整个UI都将在虚拟DOM表示中重新呈现。然后,它检查以前的DOM表示和新DOM之间的差异。完成之后,真正的DOM将只更新更改的内容。它使应用程序更快,并且没有内存浪费。
- 简单性: ReactJS使用JSX文件,这使应用程序更简单,更易于编码和理解。此外,ReactJS是一种基于组件的方法,可以根据需要重用代码。它使使用和学习变得简单。
- 性能: ReactJS被认为是一个伟大的表演者。这背后的原因是它管理一个虚拟DOM,DOM完全存在于内存中。因此,在创建组件时,我们没有直接写入DOM。相反,我们正在编写将转换为DOM的虚拟组件,从而实现更流畅、更快的性能。
文章图片
AngularJS | ReactJS | |
作者 | 谷歌 | Facebook社区 |
开发人员 | Misko Hevery | Jordan Walke |
最初版本 | 2010年10月 | 2013年3月 |
最新版本 | Angular 1.7.8将于2019年3月11日发布。 | 2019年3月27日起16.8.6起 |
语言 | JavaScript、HTML | JSX |
类型 | 开源MVC框架 | 开源JS框架 |
渲染 | 渲染 | 渲染 |
打包 | 弱 | 强大的 |
数据绑定 | 双向 | 单向的 |
DOM | 常规的DOM | 虚拟DOM |
测试 | 单元和集成测试 | 单元测试 |
应用程序体系结构 | MVC | 通量 |
依赖关系 | 它自动管理依赖项。 | 它需要额外的工具来管理依赖关系。 |
路由 | 它的路由器配置需要一个模板或控制器,必须手动管理。 | 它不处理路由,但有很多路由模块,例如。,react-router。 |
性能 | 慢 | 由于虚拟DOM,速度很快。 |
最适合 | 最适合一次更新一个视图的单页应用程序。 | 最适合一次更新多个视图的单页应用程序。 |
推荐阅读
- ReactJS和React Native之间的区别 – ReactJS实战教程
- React主要特性及其优点和缺点 – ReactJS实战教程
- 使用create-react-app创建React项目 – ReactJS实战教程
- React环境安装和配置完全解读 – ReactJS实战教程
- ReactJS入门和版本介绍 – ReactJS实战教程
- 解决React构建错误(ERROR Module build failed (from .node_modules babel-loader lib index.js))
- 解决问题(Module build failed ReferenceError [BABEL] main.js Unknown option react.js.Children)
- 最新前端面试题!20个React面试题(React组件面试题及答案合集)
- 助你面试顺利!10个最新react面试题和答案详解