前端有三寶,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庫該做的。