React在國(guó)外已被各個(gè)公司的各種產(chǎn)品大量使用,大眾熟知的INS、Airbnb、Yahoo、ThoughtWorks 等,都是使用React來(lái)實(shí)現(xiàn)UI開發(fā)的。很多人認(rèn)為,雖然React在國(guó)外已經(jīng)被廣泛應(yīng)用,但在國(guó)內(nèi),仍處新興萌芽階段。
到底React在國(guó)內(nèi)境遇如何?據(jù)海說(shuō)軟件了解,阿里內(nèi)部系統(tǒng)、支付寶新一代框架、美團(tuán)內(nèi)部系統(tǒng)、知乎、滴滴、賣座電影、豆瓣等大型網(wǎng)站及平臺(tái)正在運(yùn)用React,或在進(jìn)行系統(tǒng)重構(gòu)。
毫無(wú)疑問(wèn),React 作為近兩年前端三大流行框架之一,正成為程序員們最喜愛的JavaScript框架。自2013年5月開源至今,已有千萬(wàn)網(wǎng)站、APP使用React來(lái)進(jìn)行前端構(gòu)架,使之成為GitHub 最受歡迎的項(xiàng)目之一。
眾所周知,React是由Facebook公司中有智慧的懶人創(chuàng)造的。當(dāng)年,隨著Facebook用戶的不斷增多,巨大的代碼庫(kù)和龐大的組織使得MVC很快變得復(fù)雜非常,其廣告部門更是面臨著頁(yè)面不斷重新加載而異常緩慢的問(wèn)題。Facebook對(duì)市場(chǎng)上所有 JavaScript MVC 框架都不滿意,就決定自己寫一套,用來(lái)架設(shè) instagram的網(wǎng)站。這樣既滿足了自身擴(kuò)展需求,優(yōu)化了用戶體驗(yàn)及管理,還能避免不斷的重新編碼。React是Facebook對(duì)于Web Components的理解與實(shí)現(xiàn),做出來(lái)以后,發(fā)現(xiàn)這套東西很好用,于是就開源了。
經(jīng)過(guò)這幾年的沉淀,React越來(lái)越強(qiáng)大,暫不提React這幾年在國(guó)內(nèi)與BAT之間的矛盾,這其中還有很大談判空間。僅從大多程序員角度來(lái)看,React無(wú)疑已成為開發(fā)第一選擇。
React已經(jīng)形成一套完整的前端開發(fā)生態(tài)體系,包括:React.js、React Native 、ReactRenders(ReactDOM、ReactServer 、ReactCanvas)、Flux 模式及其實(shí)現(xiàn)(Redux , Fluxxor)、React 開源組件、GraphQl + Relay等。React作為一種思想存在,React.js應(yīng)用于Web端; React Native應(yīng)用于APP,同時(shí)支持IOS和Android應(yīng)用程序的編碼設(shè)計(jì)和發(fā)布,顯著減少了為各個(gè)平臺(tái)編碼和設(shè)置資源所需的時(shí)間,成功為開發(fā)人員減負(fù)。
大多已經(jīng)采用了React框架的企業(yè),看中的是React穩(wěn)定的跨平臺(tái)支持,其性能的水平和垂直擴(kuò)展性都很好,同時(shí)減少了反饋循環(huán),可快速迭代。而程序員們青睞React,也源于它的開發(fā)操作性極強(qiáng):可并行工作,支持用戶將圖像解碼、調(diào)整文字大小并渲染,可以將高耗時(shí)的UI操作移出主線程,進(jìn)而提高UI的流暢性并縮短響應(yīng)時(shí)間;先進(jìn)的手勢(shì)處理技術(shù),可以更快的響應(yīng)本地更改;允許訪問(wèn)平臺(tái)特定的功能和組件,甚至包括小部件;易于閱讀,開發(fā)人員更易于從代碼中獲取關(guān)鍵信息。
海說(shuō)軟件始終致力于應(yīng)用React等優(yōu)秀技術(shù)框架構(gòu)建國(guó)內(nèi)一流的原生APP。在我們看來(lái),React是最佳的組件化實(shí)踐,在生產(chǎn)操作上的表現(xiàn)會(huì)越來(lái)越出彩:
1.? React使用一個(gè)真正的、全功能的編程語(yǔ)言(JAX)去渲染視圖;
2.? React可以讓開發(fā)者更方便的開發(fā)同構(gòu)應(yīng)用,這是其他 MVVM 框架很難做到的;
3.? React解決了很多 SEO 訴求,方便組件的前后端復(fù)用;
4.? React反應(yīng)性更新非常簡(jiǎn)單,當(dāng)數(shù)據(jù)隨著時(shí)間的推移而變化時(shí),你會(huì)發(fā)現(xiàn)react的真正亮眼之處;
5.? 掌握了React,就具備了寫多個(gè)平臺(tái)的開發(fā)能力;
6.? 擁抱了ES6的大量新特性;
7.? React周邊生態(tài)圈異常繁盛,較其他類似框架都更加龐大。成熟的開發(fā)者都明白,真正能讓項(xiàng)目開發(fā)過(guò)程享受便利的一定是好的框架+豐富的生態(tài)庫(kù)。這一點(diǎn),也將是 React對(duì)標(biāo)競(jìng)品的優(yōu)勢(shì)所在。
React不僅僅有如上的表現(xiàn)?;谧陨硗黄菩缘腏AX、Virtual DOM、組件化、單向數(shù)據(jù)流等特點(diǎn)(此處特點(diǎn),將在之后的文章中詳細(xì)介紹,暫且略過(guò)),會(huì)在使用中感受到其更簡(jiǎn)單、聲明式的巨大優(yōu)勢(shì)。海說(shuō)軟件正是看到了這一強(qiáng)大優(yōu)勢(shì),將繼續(xù)深挖硬掘,運(yùn)用以React為代表的優(yōu)秀框架,幫助企業(yè)解放生產(chǎn)力,打造出這個(gè)時(shí)代最樸素、最富質(zhì)感、最受大眾喜愛的互聯(lián)網(wǎng)產(chǎn)品。
您也可以關(guān)注我們的官方微信公眾號(hào)(ID:ctoutiao),給您更多好看的內(nèi)容。