前端有三宝,angular,vue,react。目前这三大主流JS框架已经成三分之势。其中的React框架是由脸书开发的,今天我们就来聊一聊ReactJS的前世今生。
react
我们都知道脸书是由扎克伯格在在大学里面做的一个项目。当时他采用的语言是php,这门动态语言被很多人认为是"世界上最好的语言",而发展至今,脸书大部分的应用依然采用PHP作为后端开发语言。我们都知道PHP是解释性的脚本语言,效率没有JAVA,C#这些编译型语言执行效率高,因此脸书自己开发了一个php虚拟机,这个虚拟机就是大名鼎鼎的HHVM。因为有了HHVM,使得php的执行效率有了大幅提升,因此PHP一直是脸书的主流开发语言。
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可以开发手机应用了,这对于混生应用开发者就是一种福利。有了它,前端工程师也可以是Android和IOS工程师了。
react native
可能大家谁也没有想过,发展如此成功的ReactJS差一点就会走向衰落。在2016年的时候,脸书修改了ReactJS的开源协议,就是人们使用ReactJS做出来的产品将受制于脸书。这让很多厂商和开发者望而却步。Apache,wordPress/ target=_blank class=infotextkey>WordPress等组织开始宣布封杀和弃用React,一时间React陷入了泥潭。本来欣欣向荣的社区,一下子仿佛被泼上了一盆冷水,一下子人们都开始纷纷考虑是否要使用其它的框架。
值得庆幸的事,脸书很快意识到了自己错误,从React 16开始,React的开源协议又修改回了MIT协议,人们又可以愉快地玩耍了。但是不得不提的是,经历了之前的风波,很多人心理还是会有芥蒂的。因为人们不知道未来脸书会不会突然又修改了开源协议。
很早的时候,我们前端的代码都是写在一起的,什么css,js和html都是放在一起。后来为了分离,我们将js还有css都放到了单独文件里面。而react的出现,又将js和html放到了一起,真是应了中国的一句古话:天下大势,分久必合合久必分。
react
React的组件思想让前端复用不再是纸上谈兵,前端发展已经到了工厂时代。以后的前端组件将会像是一个个汽车的轮子一样,人们想搭建一个应用,只需要去市场上找寻自己想要的组件(汽车配件),然后组装即可。
UI世界瞬息万变,虽然最终可能三大框架都会被取代,但我相信React在那之前已经证明了它自己,做到了一个构建用户界面的JavaScript库该做的。