React-Native2019年3月Blog冠桃,官方升級(jí)路線俄占,谷歌翻譯同欠。
在決定在React Native開(kāi)源社區(qū)投入更多資金之后虎囚,我們?cè)?018年第四季度宣布了[React Native Open Source路線圖。
對(duì)于我們的第一個(gè)里程碑五慈,我們專(zhuān)注于識(shí)別和改善社區(qū)最明顯的方面纳寂。我們的目標(biāo)是減少優(yōu)秀的拉動(dòng)請(qǐng)求主穗,減少項(xiàng)目的表面積,識(shí)別領(lǐng)先的用戶問(wèn)題毙芜,并為社區(qū)管理制定指導(dǎo)方針忽媒。
在過(guò)去兩個(gè)月里,我們?nèi)〉昧吮阮A(yù)期更多的進(jìn)展腋粥。請(qǐng)閱讀以獲得更多詳情:
為了建立一個(gè)健康的社區(qū)晦雨,我們必須快速響應(yīng)代碼貢獻(xiàn)。在過(guò)去幾年中隘冲,我們優(yōu)先審查社區(qū)貢獻(xiàn)并累計(jì)了280次拉動(dòng)請(qǐng)求(2018年12月)闹瞧。在第一個(gè)里程碑中,我們將開(kāi)放拉動(dòng)請(qǐng)求的數(shù)量減少到約65個(gè)对嚼。同時(shí)夹抗,每天開(kāi)放的平均拉取請(qǐng)求數(shù)從3.5增加到7,這意味著我們?cè)谶^(guò)去三個(gè)月內(nèi)處理了大約600個(gè)拉取請(qǐng)求纵竖。
我們合并了近三分之二漠烧,并關(guān)閉了拉動(dòng)請(qǐng)求的三分之一。如果它們已經(jīng)過(guò)時(shí)或質(zhì)量較低靡砌,或者它們不必要地增加了項(xiàng)目的表面積已脓,它們?cè)跊](méi)有合并的情況下被關(guān)閉。大多數(shù)合并的pull請(qǐng)求修復(fù)了錯(cuò)誤通殃,改進(jìn)了跨平臺(tái)奇偶校驗(yàn)或引入了新功能度液。值得注意的貢獻(xiàn)包括改進(jìn)類(lèi)型安全性以及支持AndroidX的持續(xù)工作。
在Facebook画舌,我們從master運(yùn)行React Native堕担,因此我們首先測(cè)試所有更改,然后再將它們轉(zhuǎn)換為React Native Release曲聂。在所有合并的拉取請(qǐng)求中霹购,只有六個(gè)引起了問(wèn)題:四個(gè)僅影響內(nèi)部開(kāi)發(fā),兩個(gè)陷入候選版本狀態(tài)朋腋。
其中一個(gè)更明顯的社區(qū)貢獻(xiàn)是更新的“RedBox”屏幕齐疙。這是社區(qū)如何讓開(kāi)發(fā)人員體驗(yàn)更友好的一個(gè)很好的例子。
精益核心
React Native目前有一個(gè)非常寬的表面區(qū)域旭咽,有許多未維護(hù)的抽象贞奋,我們?cè)贔acebook上并沒(méi)有大量使用。我們正在努力減少表面積穷绵,以使React Native更小轿塔,并允許社區(qū)更好地照顧Facebook上大多未使用的抽象。
在第一個(gè)里程碑中,我們向社區(qū)尋求精益核心項(xiàng)目的幫助催训。反應(yīng)非常熱烈洽议,我們幾乎無(wú)法跟上所有進(jìn)展宗收。查看不到一個(gè)月內(nèi)完成的所有工作漫拭!
我們最為興奮的是,維護(hù)人員已經(jīng)開(kāi)始修復(fù)長(zhǎng)期存在的問(wèn)題混稽,添加測(cè)試以及支持長(zhǎng)期請(qǐng)求的功能采驻。這些模塊獲得了比React Native更多的支持,這表明這對(duì)社區(qū)來(lái)說(shuō)是一個(gè)很好的一步匈勋。此類(lèi)項(xiàng)目的示例是自提取以來(lái)已[收到許多拉取請(qǐng)求的]以及現(xiàn)在[由社區(qū)成員維護(hù)]并獲得了急需的改進(jìn)和修復(fù)的CLI 礼旅。
優(yōu)先解決的用戶問(wèn)題
12月,我們向社區(qū)詢問(wèn)了他們對(duì)React Native的不滿洽洁。我們匯總了回復(fù)并回答了每個(gè)問(wèn)題痘系。幸運(yùn)的是,我們社區(qū)面臨的許多問(wèn)題也是Facebook的問(wèn)題饿自。在我們的下一個(gè)里程碑中汰翠,我們計(jì)劃解決一些主要問(wèn)題。
投票最高的問(wèn)題之一是開(kāi)發(fā)人員升級(jí)到更新版本的React Native的經(jīng)驗(yàn)昭雌。不幸的是复唤,這不是我們自己經(jīng)歷的事情,因?yàn)槲覀儚膍aster運(yùn)行React Native烛卧。值得慶幸的是佛纫,社區(qū)成員已經(jīng)加緊解決這個(gè)問(wèn)題:
- 米哈爾Pierzcha?a從調(diào)用棧提高反應(yīng)本地升級(jí)通過(guò)使用RN-DIFF-凈化罩下。我們還更新了網(wǎng)站以刪除過(guò)時(shí)的升級(jí)說(shuō)明总放。
- 我們計(jì)劃默認(rèn)為iOS項(xiàng)目推薦CocoaPods呈宇,這將在升級(jí)React Native時(shí)減少項(xiàng)目文件中的流失。這將使人們更容易安裝和鏈接第三方模塊局雄,這在精益核心環(huán)境中更為重要甥啄,因?yàn)槲覀兿M?xiàng)目默認(rèn)鏈接更多模塊。
0.59發(fā)布
如果沒(méi)有React Native社區(qū)的幫助哎榴,特別是Mike Grabowski和Lorenzo Sciandra型豁,我們將無(wú)法發(fā)布版本。我們希望改進(jìn)發(fā)布管理流程尚蝌,并計(jì)劃從現(xiàn)在開(kāi)始更多地參與:
- 我們將與社區(qū)成員合作迎变,為每個(gè)主要版本創(chuàng)建博客文章。
- 當(dāng)人們升級(jí)到新版本時(shí)飘言,我們將直接在CLI中顯示重大更改衣形。
- 我們將減少發(fā)布所需的時(shí)間。我們正在探索增加自動(dòng)化測(cè)試的方法,并制定改進(jìn)的手動(dòng)測(cè)試計(jì)劃谆吴。
其中許多計(jì)劃將被納入即將發(fā)布的React Native 0.59版本中倒源。0.59將附帶React Hooks,一個(gè)新的64位版本的JavaScriptCore for Android句狼,以及許多性能和功能改進(jìn)笋熬。它目前作為候選版本發(fā)布,預(yù)計(jì)將在未來(lái)兩周內(nèi)保持穩(wěn)定腻菇。
下一步
在接下來(lái)的兩個(gè)月里胳螟,我們將繼續(xù)管理拉動(dòng)請(qǐng)求以保持正常運(yùn)行,同時(shí)也開(kāi)始減少未完成的GitHub問(wèn)題筹吐。我們將通過(guò)精益核心項(xiàng)目繼續(xù)減少React Native的表面積糖耸。我們計(jì)劃解決5個(gè)最重要的社區(qū)問(wèn)題。在我們最終確定社區(qū)準(zhǔn)則時(shí)丘薛,我們會(huì)將注意力轉(zhuǎn)向我們的網(wǎng)站和文檔嘉竟。
我們非常高興能夠在3月份在Facebook倫敦社區(qū)招待超過(guò)10位來(lái)自我們社區(qū)的貢獻(xiàn)者,以幫助推動(dòng)其中的一些努力洋侨。我們很高興您使用React Native并希望您能夠看到并感受到我們?cè)?019年正在進(jìn)行的改進(jìn)舍扰。我們將在幾個(gè)月內(nèi)回復(fù)另一個(gè)更新,并在此期間合并您的拉取請(qǐng)求凰兑!