8分钟为你详解React、Angular、Vue三大前端技术 (3)

为了支持React的单向数据流的概念(与AngularJS/Angular的双向数据流形成对比),Flux架构是流行的模型-视图-控制器(MVC)架构的具有代表性的替代方案。Flux的特点是,数据动作通过中央调度器发送到一个存储仓库,而对存储仓库数据的变化会被传送回视图。当与React一起使用时,这种传送是通过组件属性完成的。

Flux可以被认为是观察者模式的一个变种。

Flux架构下的React组件不应该直接修改传递给它的任何props,而是应该传递回调函数,这些回调函数可以创建由调度器发送的数据动作来修改存储仓库。数据动作是一个对象,其职责是描述已经发生的事情:例如,一个数据动作描述的是一个用户 "follow"另一个用户。它可能包含如下数据:

用户ID,

目标用户ID,

以及USER_FOLLOWED_ANOTHER_USER枚举类型。

存储仓库,是一个数据模型,可以根据从调度器接收到的数据动作来改变自己。

 

这种模式有时被表述为 "属性向下流动,数据动作向上流动"。自Flux诞生以来,Flux的许多实现被创造出来,其中最著名的是Redux,它的特点是单一的存储仓库,通常被称为单一的数据真相源。

历史

React是由Facebook的软件工程师Jordan Walke创建的,受PHP的HTML组件库XHP的启发,发布了React的早期原型,名为 "FaxJS",。它于2011年首次部署在Facebook的News Feed上,后来于2012年部署在Instagram上。2013年5月在美国JSConf大会上开源。

React Native是2015年2月在Facebook的React Conf上宣布的,2015年3月开源的React Native,实现了原生的Android、iOS和UWP开发。

2017年4月18日,Facebook宣布了React Fiber,这是React库的一个新的核心算法,用于构建用户界面,React Fiber将成为React库未来任何改进和功能开发的基础。

2017年9月26日,React 16.0正式对外发布。

2019年2月16日,React 16.8正式对外发布,该版本引入了React Hooks。

常用命令

创建工程:

npx create-react-app my-app

 

开发环境运行:

npm start

 

生产环境打包:

npm run build

 

【官方网站】

reactjs.org/

【最新版本】

16.13.1于2020年3月19日

【授权】

MIT License

【Angular】

Angular(通常被称为 "Angular 2+"或 "Angular v2及以上版本")是一个基于TypeScript的开源Web应用框架,由Google的Angular团队和由个人以及企业组成的社区领导。 Angular是由构建AngularJS的同一个团队从零开始重写的。

Angular和AngularJS的区别

Angular没有 "Scope"或控制器的概念,相反,它使用组件的层次结构作为其主要的架构特征。

Angular有不同的表达式语法,重点是"[]"用于属性绑定,"() "用于事件绑定

模块化 - 许多核心功能已转移到模块上

Angular推荐使用微软的TypeScript语言,它引入了以下特性。

(1)静态键入,包括Generics

(2)注解

TypeScript是ECMAScript 6 (ES6)的超集,向后兼容ECMAScript 5(即:JavaScript)。

动态加载

异步模板编译

由RxJS提供的迭代回调。RxJS限制了状态的可见性和调试,但这些问题可以通过像ngReact或ngrx这样的反应式附加组件来解决。

支持Angular Universal,可以在服务器上运行Angular应用程序。

历史 命名

最初,AngularJS的重写被称为 "Angular 2",但这导致了开发人员的迷糊。为了澄清,团队宣布,每个框架使用不同的术语,其中 "AngularJS "指的是1.X版本, "Angular " 指的是2及以上版本。

版本2

Angular 2.0在2014年10月22-23日的ng-Europe大会上宣布。2.0版本的剧烈变化在开发者中引起了相当大的争议。

2015年4月30日,Angular开发者宣布Angular 2从Alpha转为开发者预览版,2015年12月Angular 2转为Beta版,2016年5月发布了第一个发布候选版本,2016年9月14日发布了最终版本。

版本4

2016年12月13日Angular 4发布,跳过了3,避免了因路由器包的版本错位导致的混乱,当时已经发布的版本为v3.3.0。最终版本于2017年3月23日发布,Angular 4向后兼容Angular 2。

Angular 4.3版本是一个小版本,它是4.x.x版本的替换版本。

4.3版本的功能

介绍了HttpClient,一个更小、更容易使用、更强大的HTTP请求库。

为守护者和解析器提供了新的路由器生命周期事件。四个新事件。GuardsCheckStart、GuardsCheckEnd、ResolveStart、ResolveEnd加入了现有的NavigationStart等生命周期事件集。

有条件地禁用动画。

版本5

Angular 5于2017年11月1日发布,Angular 5的主要改进包括支持渐进式Web应用、构建优化器以及与Material Design相关的改进。

版本6

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfjxj.html