如同黑夜里的一道光一樣松捉,就這么知道了F8. F8是每年一次Facebook每年一次的開發(fā)者大會。每次大會都會release相應(yīng)的APP,iOS、Android都有刨秆。之前都是用Native開發(fā)的,但是2016的這一次是用React Native開發(fā)的忆畅。
FB開源了RN的App
這次fb不僅開源了純RN寫的App衡未,而且一同發(fā)布的還有開發(fā)這個App的教程。FB承諾會不斷的更新這個app。教程放在make it open缓醋。不幸的是這個站點居然被墻了L藿弧!改衩!技術(shù)博也能被墻,心中跑過一萬個草泥馬Q蹦鳌:健!F8的App可以在app store和google play下到板惑。不要著急下橄镜,我么先一睹F8的風(fēng)采。
App的設(shè)計本身是沒的說冯乘,而且兩個平臺的App都遵守了各自平臺的設(shè)計規(guī)范洽胶。iOS的用底部的Tab bar,Android的用了側(cè)邊劃入的菜單裆馒。Android的還沒來得及用姊氓,在低版本、低配置的Android設(shè)備上尤其能反映出RN的性能如何喷好。
facebook在F8教程中提到在fb的內(nèi)部團(tuán)隊使用了RN后翔横,app有大約85%的代碼是可以重用的。這是著實減少了很多的開發(fā)量梗搅。而且使用RN可以快速的開發(fā)出app原型禾唁。
RN應(yīng)用處理數(shù)據(jù)
在應(yīng)用的開發(fā)中少不了需要處理一些數(shù)據(jù)。F8 使用了Parse實現(xiàn)了后端的功能无切。Parse很適合作為對數(shù)據(jù)依賴不那么強(qiáng)的應(yīng)用的后端荡短。具體Parse如何使用,各位可以查看文檔哆键。我們集中討論RN應(yīng)用掘托。
一直以來RN都被認(rèn)為是MVC模式里處理“View”部分的。但是React本身的特點又讓這些略有改變洼哎。幾個React組件組成了一個view烫映,每一個組件內(nèi)部都可以包含一些邏輯處理的代碼。而這些邏輯處理的代碼本來應(yīng)該是由controller來處理的噩峦。
React提供了一種開發(fā)模式Flux锭沟。RN里就可以使用了Flux模式的最佳實踐庫Redux。Redux引入了Store的概念识补,提供了一個新的修改state的工作流族淮,擴(kuò)展了React的數(shù)據(jù)關(guān)系。你可以參考Flux如何使得React應(yīng)用實現(xiàn)單向數(shù)據(jù)流的。
F8有一點需求祝辣,需要可以離線使用贴妻。正好Redux提供了可以存儲和緩存方面的功能。用fb教程的話來說:“Redux提供了功能和易用的最佳平衡”蝙斜。
其他
很多的公司雖然使用了React名惩,但是沒有使用Flow。這里有填坑番外來介紹flow的使用方法孕荠。Flow是fb為了保證js開發(fā)的時候能盡早娩鹉,盡可能多的發(fā)現(xiàn)錯誤而開發(fā)的一款開源工具。
有很多的js錯誤稚伍,你不需要在代碼運行起來以后才發(fā)現(xiàn)錯誤弯予。只要幾個flow命令就可以檢測出來。如果使用Nuclide个曙,這個React專用的開發(fā)工具的話锈嫩,F(xiàn)low會在你寫完代碼之后就給出提示。非常有幫助垦搬。
最后
這些應(yīng)用開發(fā)的只是呼寸,以及開發(fā)對于開發(fā)一款React Native應(yīng)用都有非常大的幫助。F8是一個開發(fā)和幾個幫忙的設(shè)計開發(fā)出來的App悼沿。其中所使用的開發(fā)知識等舔,第三方庫和開發(fā)工具對于開發(fā)React尤其是React Native應(yīng)用來說不是必不可少、也是非常有益的糟趾。學(xué)習(xí)掌握他們對于我們以后的開發(fā)都是大有裨益的慌植!