您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

前端三大框架之React前世今生

时间:2019-07-03 10:07:51  来源:  作者:

前端有三宝,angular,vue,react。目前这三大主流JS框架已经成三分之势。其中的React框架是由脸书开发的,今天我们就来聊一聊ReactJS的前世今生。

前端三大框架之React前世今生

react

我们都知道脸书是由扎克伯格在在大学里面做的一个项目。当时他采用的语言是php,这门动态语言被很多人认为是"世界上最好的语言",而发展至今,脸书大部分的应用依然采用PHP作为后端开发语言。我们都知道PHP是解释性的脚本语言,效率没有JAVA,C#这些编译型语言执行效率高,因此脸书自己开发了一个php虚拟机,这个虚拟机就是大名鼎鼎的HHVM。因为有了HHVM,使得php的执行效率有了大幅提升,因此PHP一直是脸书的主流开发语言。

前端三大框架之React前世今生

Jordan Walke

脸书为了使得PHP更加的好用,它开发了一个PHP扩展XHP,这个扩展主要是用来在php中输出xml代码,这样可以很方便地实现网页中的一些效果。受到XHP的启发,乔丹·沃尔克开发出了JS版本的XHP,也就是我们今天熟知的ReactJS最早的版本。ReactJS一经推出,就被大量使用在了脸书的新闻流推送里面,实践证明,这种开发效率非常高效。在2012年的时候,照片墙(Instagram)这个应用也大量才用了react这个技术。好东西要学会分享,在2013年的js开发者大会上,ReactJS被开源了。我们都知道开源社区是非常强大的,开源的React在短短几年就积累了大量的扩展,这让react一下子就成为了三大框架之一。

如果React只能做网页,我相信还不能让这么多人追捧它。但是在2015年的时候,React Native的出现,让React可以开发手机应用了,这对于混生应用开发者就是一种福利。有了它,前端工程师也可以是AndroidIOS工程师了。

前端三大框架之React前世今生

react native

可能大家谁也没有想过,发展如此成功的ReactJS差一点就会走向衰落。在2016年的时候,脸书修改了ReactJS的开源协议,就是人们使用ReactJS做出来的产品将受制于脸书。这让很多厂商和开发者望而却步。ApachewordPress/ target=_blank class=infotextkey>WordPress等组织开始宣布封杀和弃用React,一时间React陷入了泥潭。本来欣欣向荣的社区,一下子仿佛被泼上了一盆冷水,一下子人们都开始纷纷考虑是否要使用其它的框架。

值得庆幸的事,脸书很快意识到了自己错误,从React 16开始,React的开源协议又修改回了MIT协议,人们又可以愉快地玩耍了。但是不得不提的是,经历了之前的风波,很多人心理还是会有芥蒂的。因为人们不知道未来脸书会不会突然又修改了开源协议。

很早的时候,我们前端的代码都是写在一起的,什么css,js和html都是放在一起。后来为了分离,我们将js还有css都放到了单独文件里面。而react的出现,又将js和html放到了一起,真是应了中国的一句古话:天下大势,分久必合合久必分。

前端三大框架之React前世今生

react

React的组件思想让前端复用不再是纸上谈兵,前端发展已经到了工厂时代。以后的前端组件将会像是一个个汽车的轮子一样,人们想搭建一个应用,只需要去市场上找寻自己想要的组件(汽车配件),然后组装即可。

UI世界瞬息万变,虽然最终可能三大框架都会被取代,但我相信React在那之前已经证明了它自己,做到了一个构建用户界面的JavaScript库该做的。



Tags:框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
近日只是为了想尽办法为 Flask 实现 Swagger UI 文档功能,基本上要让 Flask 配合 Flasgger, 所以写了篇 Flask 应用集成 Swagger UI 。然而不断的 Google 过程中偶然间发现了...【详细内容】
2021-12-23  Tags: 框架  点击:(6)  评论:(0)  加入收藏
文章目录1、Quartz1.1 引入依赖<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.2</version></dependency>...【详细内容】
2021-12-22  Tags: 框架  点击:(12)  评论:(0)  加入收藏
大家好,我是很帅的狐狸今天我打算系统地聊聊资产配置 今儿我打算介绍一个超级无敌实用的资产配置框架。过去几年,我被问到最多的,可能是下面这一类问题&mdash;&mdash; 我有10...【详细内容】
2021-12-14  Tags: 框架  点击:(10)  评论:(0)  加入收藏
1 前言ObjectiveSQL 是一个Java ORM 框架,它不仅是Active Record 模式在Java 中的应用,同时还针对复杂SQL 编程提供近乎完美的解决方案,使得Java 代码与SQL 语句有机的结合,改变...【详细内容】
2021-12-13  Tags: 框架  点击:(14)  评论:(0)  加入收藏
对项目的基本介绍 1.整个框架主要是给MVVM框架使用的,自己写完interface接口后,通过自定义的注解就能自动生成接口方法 2.用Kotlin的Flow去代替Rxjava,因为我发现RxJava功能很...【详细内容】
2021-12-08  Tags: 框架  点击:(17)  评论:(0)  加入收藏
CSS框架提供了设计一致解决方案的基本结构,以解决前端web开发中的常见问题。它们提供了通用功能,可以针对特定场景和应用程序进行覆盖。这大大减少了开始创建应用程序和网站所...【详细内容】
2021-12-06  Tags: 框架  点击:(15)  评论:(0)  加入收藏
React 简介 React 基本使用<div id="test"></div><script type="text/javascript" src="../js/react.development.js"></script><script type="text/javascript" src="../js...【详细内容】
2021-11-30  Tags: 框架  点击:(19)  评论:(0)  加入收藏
流水线(Pipeline)是把一个重复的过程分解为若干个子过程,使每个子过程与其他子过程并行进行的技术。本文主要介绍了诞生于云原生时代的流水线框架 Argo。 什么是流水线?在计算机...【详细内容】
2021-11-30  Tags: 框架  点击:(21)  评论:(0)  加入收藏
TKinterThinter 是标准的python包,你可以在linx,macos,windows上使用它,你不需要安装它,因为它是python自带的扩展包。 它采用TCL的控制接口,你可以非常方便地写出图形界面,如...【详细内容】
2021-11-30  Tags: 框架  点击:(27)  评论:(0)  加入收藏
项目介绍您可以方便快速地开发微信全平台的应用(包括微信公众号、小程序、小游戏、企业号、开放平台、微信支付、JS-SDK、微信硬件/蓝牙,等等)。本项目的 Demo 同样适合初学者...【详细内容】
2021-11-17  Tags: 框架  点击:(38)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的&emsp;&emsp;程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条