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

用JSX编写的代码需要被Babel等工具进行转换以后才能被Web浏览器所理解,这种处理一般是在软件构建过程中进行的,然后再部署构建后的应用程序。

超越HTML的架构
React的基本架构不仅仅适用于在浏览器中渲染HTML。例如,Facebook有动态图表,可以渲染到标签,而Netflix和PayPal使用通用加载,在服务器和客户端上渲染相同的HTML。

React Hooks

Hooks是让开发者从函数组件中 "钩入"React状态和生命周期特性的函数。它们使代码具有更强的可读性且更易理解。Hooks并不在类组件内工作,它的终极目标是在React中消除类组件的存在。

React提供了一些内置的Hooks,如useState、useContext、useReducer和useEffect等。它们都在Hooks API参考书中做了说明。使用最多的是useState和useEffect,分别在React组件中控制状态和检测状态变化。

Hooks规则
Hooks也有一些规则,在使用Hooks之前必须遵循这些规则:

钩子只能在顶层调用(不能在循环或if语句中调用)。
钩子只能在React函数组件中调用,不能在普通函数或类组件中调用。
定制Hooks
构建自己的Hooks,也就是所谓的自定义Hooks,可以让你把组件逻辑提取到可重用的函数中。自定义钩子是一个名称以 "use "开头的JavaScript函数,它可以调用其他的钩子。钩子的规则也适用于它们。

常用术语
React并没有试图提供一个完整的 “应用程序库”。它是专门为构建用户界面而设计的,因此并不包括许多一些开发者认为构建应用程序所需的工具。这使得开发者可以选择任何一个库来完成诸如执行网络访问或本地数据存储等任务。这种情况也就决定了React技术在创建网页应用时标准无法统一。

Flux架构的使用
为了支持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

【官方网站】
http://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
Angular 6于2018年5月4日发布。这个版本,关注的重点不在于底层框架,更多的是工具链,以及让Angular在未来的更新和升级更加容易,比如:ngupdate、ng add、Angular元素、Angular Material+CDK组件、Angular Material入门组件、CLI工作区、库支持、树形摇动提供者、动画性能提升、RxJS v6。

版本7
Angular 7已于2018年10月18日发布。更新内容涉及到应用性能、Angular Material & CDK、虚拟滚动、Selects的可访问性改进、现在支持自定义元素使用Web标准的内容投影,以及关于Typescript 3.1、RxJS 6.3、Node 10(仍支持Node 8)的依赖性更新。

版本8
Angular 8已于2019年5月28日发布。具有所有应用代码的差异化加载、惰性路由的动态导入、Web工作者、TypeScript 3.4支持、以及Angular Ivy作为预览版可配置使用。Angular

Ivy预览包括:

生成的代码,在运行时更容易阅读和调试。
更快的重建时间
减少有效载荷
改进了模板类型检查
向后兼容
版本9
Angular 9已于2020年2月6日发布。第9版在默认情况下使用Ivy编译器。Angular可以与TypeScript 3.6和3.7兼容。除了数百个bug修复之外,Ivy编译器和运行时还提供了许多优势:

更小的软件包
更快的测试
更好的调试
改进的CSS类和样式绑定
改进的类型检查
改善了构建错误
改善了构建时间,默认开启AOT功能
提高国际化功能
特点
组件化
一个组件例子

Html部分
http://groups.tianya.cn/post-3524-06ce5bed87ef48478ded61507d008788-1.shtml
http://groups.tianya.cn/post-3524-f48fe2c651e94a6eaf912857a2d474ce-1.shtml
http://groups.tianya.cn/post-3524-1fadb7c9f10e4fadb382192f65a82f94-1.shtml
http://groups.tianya.cn/post-3524-8cd5569b39c84d50b6d7375f14ae6732-1.shtml
http://groups.tianya.cn/post-3524-415d11d4016d4623bd2914be297c5d1b-1.shtml
http://groups.tianya.cn/post-3524-97a738e662114a788ee519a12383b34a-1.shtml
http://groups.tianya.cn/post-3524-8cfcf29ea378438a80e7256a0f57dc2e-1.shtml
http://groups.tianya.cn/post-3524-6a86a6e4e79b416ab4acaa9d79b50321-1.shtml
http://groups.tianya.cn/post-3524-3344e2a0d3bb45289d559dcccd466286-1.shtml
http://groups.tianya.cn/post-3524-a6c42e77730b4962bb6f224eaf8f85d2-1.shtml
http://groups.tianya.cn/post-3524-c56ea58dbc0c4c4aa67f7b17b5f28df5-1.shtml
http://groups.tianya.cn/post-3524-421a73e48d1a4333a44057b75d1d7aab-1.shtml
http://groups.tianya.cn/post-3524-31c26d622f994eeda51eb1420f716a0a-1.shtml
http://groups.tianya.cn/post-3524-74ba4164895e4917a6df3c0189fc57b5-1.shtml
http://groups.tianya.cn/post-3524-b5da6ed8c6104bb3b050dff13612e0aa-1.shtml
http://groups.tianya.cn/post-3524-6027061071c14f198787830e70c95088-1.shtml
http://groups.tianya.cn/post-3524-8312fc6734684b659e12b2cc59a98fe5-1.shtml
http://groups.tianya.cn/post-3524-416bc7fa347249be9c40f43ec7891e8c-1.shtml
http://groups.tianya.cn/post-3524-872d5c86531441169e5d5e65a781a95d-1.shtml
http://groups.tianya.cn/post-3524-f00c45c39a6840cb953c0cd45052ca32-1.shtml
http://groups.tianya.cn/post-3524-6f311155270e452484300996b2ea4ce5-1.shtml
http://groups.tianya.cn/post-3524-9db4a49c86384844b1c673c6d448ca9f-1.shtml
http://groups.tianya.cn/post-3524-ab03fa929fb64c17ae2be218a0a0ab5a-1.shtml
http://groups.tianya.cn/post-3524-e0adce5373024f73bab15c83112b531b-1.shtml
http://groups.tianya.cn/post-3524-3871d5551fae4469ac5f4cb4cf4ab8d8-1.shtml
http://groups.tianya.cn/post-3524-20b9b2a311f34425baf6cf95f6116787-1.shtml
http://groups.tianya.cn/post-3524-d18bc458ae3e4e34b782d2ddeaf269fb-1.shtml
http://groups.tianya.cn/post-3524-c5e1643912b44ba3bbff91a491c07c85-1.shtml
http://groups.tianya.cn/post-3524-05ff1d26a7204de1863d0b809ed000bf-1.shtml
http://groups.tianya.cn/post-3524-88f61505c1f9473487eec0feb1839e20-1.shtml
http://groups.tianya.cn/post-3524-97c8004f705e4a3db59e54030cf5ff4e-1.shtml
http://groups.tianya.cn/post-3524-25986d276b004d9a809b08569d7b6d65-1.shtml
http://groups.tianya.cn/post-3524-eb3d44f2935542fb9363c4059f0e5368-1.shtml
http://groups.tianya.cn/post-3524-16eb8ea493764c04b1c9f954b7db2fd0-1.shtml
http://groups.tianya.cn/post-3524-61c590db77cb4dba8afc834e78ba017f-1.shtml
http://groups.tianya.cn/post-3524-d7896e6086424416b706d0bd6db511db-1.shtml
http://groups.tianya.cn/post-3524-7d9e9d91c4c84093a52303e1d8a8f8d4-1.shtml
http://groups.tianya.cn/post-3524-a1b4bf48dd5b4e178a259c6fa6f3b971-1.shtml
http://groups.tianya.cn/post-3524-fce5d840cb7e4ca3afa2785d82da2e04-1.shtml
http://groups.tianya.cn/post-3524-0cee89f1557d4f27838262859df0ac85-1.shtml
http://groups.tianya.cn/post-3524-f0496962cced4829868b35411c310837-1.shtml
http://groups.tianya.cn/post-3524-0e32391c66904884987ed003ce376e16-1.shtml
http://groups.tianya.cn/post-3524-553ed552d3674f2396efd5d382c31edc-1.shtml
http://groups.tianya.cn/post-3524-e706b3b3b6d54883911b879313e194f2-1.shtml
http://groups.tianya.cn/post-3524-8452804b4a184e75abdc2cc49ab1f714-1.shtml
http://groups.tianya.cn/post-3524-7a7dcec462354aa3be11078f7d1d6ea0-1.shtml
http://groups.tianya.cn/post-3524-9509fdd7f0dd41338c1cbe19eccf8097-1.shtml
http://groups.tianya.cn/post-3524-f9e21a213eaf465e87dda2960c81518a-1.shtml
http://groups.tianya.cn/post-3524-c5aaa4a6ba2149f587b3eca07fd4710a-1.shtml
http://groups.tianya.cn/post-3524-61d7849969364624952beba97fedb9d3-1.shtml
http://groups.tianya.cn/post-3524-256742ef8a884b1d95fdf16c0b6ea784-1.shtml
http://groups.tianya.cn/post-3524-4f1ea689319b418ba7892340802e0e7a-1.shtml
http://groups.tianya.cn/post-3524-c6b89b180a0b44f19b3e3a2802ab3e7f-1.shtml
http://groups.tianya.cn/post-3524-2710433ed69346d9aa9e10665977f556-1.shtml
http://groups.tianya.cn/post-3524-29466808cb8840b5b0cbd0903255658a-1.shtml
http://groups.tianya.cn/post-3524-3a6621c41e51413193a37b206b88176f-1.shtml
http://groups.tianya.cn/post-3524-16156297a42946dfb24a090e5647c108-1.shtml
http://groups.tianya.cn/post-3524-19bb378b4e4b4d88ba3334896f9a5313-1.shtml
http://groups.tianya.cn/post-3524-d9fbd90c4fef41cab9266f45fc76ce45-1.shtml
http://groups.tianya.cn/post-3524-3334d5560a554d49b554e1c68d3e3065-1.shtml
http://groups.tianya.cn/post-3524-acbf4344731c43c3929164870737c8ff-1.shtml
http://groups.tianya.cn/post-3524-1b1699088c804de28cbd63a918b3a514-1.shtml
http://groups.tianya.cn/post-3524-276997d8b8e54a6389288292a7fdecde-1.shtml
http://groups.tianya.cn/post-3524-fcfb5bdb99bd400a8744d178ea0a5222-1.shtml
http://groups.tianya.cn/post-3524-c27bb39805a14b46892154443ba09250-1.shtml
http://groups.tianya.cn/post-3524-753ba401c6484f409f384f10d55205d4-1.shtml
http://groups.tianya.cn/post-3524-786aec12c5fe4d02a0eac215b229ca4d-1.shtml
http://groups.tianya.cn/post-3524-77f68128f6ed4fddb0278ae08a69d1b6-1.shtml
http://groups.tianya.cn/post-3524-bbdbe3d18338415a990cdc0b92310620-1.shtml
http://groups.tianya.cn/post-4531-26eb44e04728451a8cc72ae9e04d436c-1.shtml
http://groups.tianya.cn/post-4531-49342ce59af24219a597edff4a69d742-1.shtml
http://groups.tianya.cn/post-4531-c5cfef466ddd4279ad3a743359fd22f4-1.shtml
http://groups.tianya.cn/post-4531-fa94b91986344255b40086cd4318c2d1-1.shtml
http://groups.tianya.cn/post-4531-5d63097c74e34c5a8f2c7e32aac3f36b-1.shtml
http://groups.tianya.cn/post-4531-3e0a9bfd68674a7abfa9eb07c95d802d-1.shtml
http://groups.tianya.cn/post-4531-329a67862572479a8f768c4bae46f7a3-1.shtml
http://groups.tianya.cn/post-4531-bd5c8ebfb407429fb84e9819bb856ea3-1.shtml
http://groups.tianya.cn/post-4531-5dcd1d75c02341428165d475a2bf2b29-1.shtml
http://groups.tianya.cn/post-4531-8d50e2b70e6a4b3384ffe41dabe65564-1.shtml
http://groups.tianya.cn/post-4531-1722797d8dac4078950e5a475bfac86c-1.shtml
http://groups.tianya.cn/post-4531-4545e5fd3da54a0690dee29ca0261a61-1.shtml
http://groups.tianya.cn/post-4531-37f81ff1367e425a97233c4d898249f5-1.shtml
http://groups.tianya.cn/post-4531-eed0fba110924795bd63b6c231555518-1.shtml
http://groups.tianya.cn/post-4531-f3f8a798f9a54451be67b23fc539eedb-1.shtml
http://groups.tianya.cn/post-4531-dcf79e6f2a104443aaee78a483e65153-1.shtml
http://groups.tianya.cn/post-4531-90c065bcf95743a99a7db13e1270bcc1-1.shtml
http://groups.tianya.cn/post-4531-505bb56b1fec4c3c823170fdb5c6120c-1.shtml
http://groups.tianya.cn/post-4531-ee0e17a1c03e427aac3f37992d1cee63-1.shtml
http://groups.tianya.cn/post-4531-1c708fe9e3104d0594cfa6b8a5da8c0d-1.shtml
http://groups.tianya.cn/post-4531-abf4e1d161344f31a1e27253edcbce59-1.shtml
http://groups.tianya.cn/post-4531-adeb161d808148dbaaab41b4da42c7e8-1.shtml
http://groups.tianya.cn/post-4531-36db5ae38d4d4d6fa7ea6a17716a06e4-1.shtml
http://groups.tianya.cn/post-4531-bf635e53bee84a1a89c52aa2dcedc83d-1.shtml
http://groups.tianya.cn/post-4531-cf8c61e6f2cc4e05a3e79bbe7f1e7d6c-1.shtml
http://groups.tianya.cn/post-4531-1d4b42e062654634a4d52eba1f9fc351-1.shtml
http://groups.tianya.cn/post-4531-3a289f2d6e8d4cf3a1f97c5611807b2e-1.shtml
http://groups.tianya.cn/post-4531-8a30556fd26b4fc2a13b8fd220fc1ddf-1.shtml
http://groups.tianya.cn/post-4531-8a0238d8e2a048dea0278d1b820d4437-1.shtml
http://groups.tianya.cn/post-4531-cf23de27fbec4efb9303825999916768-1.shtml
http://groups.tianya.cn/post-4531-e427ccf78efa45248c589800b2d708e6-1.shtml
http://groups.tianya.cn/post-4531-7652148dc6454a6dac332713f2b89340-1.shtml
http://groups.tianya.cn/post-4531-0a8b62dd9fd843bdb21f940ee8eaaab9-1.shtml
http://groups.tianya.cn/post-4531-520373d8e2b74c71b8e3efc08c011060-1.shtml
http://groups.tianya.cn/post-4531-1552da4101924b8789a4895789a643fa-1.shtml

你可能感兴趣的:(8分钟为你详解React、Angular、Vue三大前端技术)