當前位置:
首頁 > 科技 > Facebook 正式公開 React Native 重構細節!

Facebook 正式公開 React Native 重構細節!

【CSDN編者按】Facebook 2013 年開發的 React Native 是著名的跨平台移動應用開發工具之一。目前,它不僅是最為活躍的開發者社區之一,還是 GitHub 上貢獻者數量最多的開源項目之一。

今年 6 月,為使 React Native 更輕量、更具靈活性以及更適應 JavaScript 生態圈的發展,Facebook 曾對外宣布將對其進行大規模重構,而現在,Facebook 正式公開了關於重構 React Native 的細節。

以下為譯文:

今年,React Native團隊將專註於React Native的大規模重構。

Facebook的React工程經理Sophie在她的文章「React Native的現狀」(http://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018)中提到,我們制定出了一個計劃,可以更好地支持蓬勃發展的React Native用戶數量以及Facebook之外的合作者——現在是時候披露我們更多的工作細節了。

在這之前,我想先闡述一下我們針對開源React Native的長期願景。

我們的React Native願景是:

一個健康的GitHub代碼庫。問題和拉取請求可以在合理的時間內得到處理。

增加測試覆蓋率。

來自Facebook外部的提交不會破壞開源測試。

更大規模、更有意義的社區貢獻。

穩定的API,簡化開源依賴的介面。

Facebook使用與開源相同的公共API。

React Native的發行遵循語義版本控制。

充滿活力的生態系統。高質量的ViewManagers,原生模塊,以及由社區維護的多平台支持。

優秀的文檔。專註於幫助用戶創建高質量的體驗,並提供最新的API參考文檔。

我們認為以下重點領域可以幫助我們實現這一願景。

精益核心

我們的目標是縮小React Native的核心範圍,移除非核心組件和未使用的組件。我們打算將非核心的組件移交給社區,使之能夠更快地發展。縮小規模後,也可以更容易地管理React Native的貢獻代碼。

我們移交給社區的組件之一就是WebView。我們正在制定一個工作流程,可以讓內部團隊在將組件從代碼庫移除後仍然繼續使用這些組件。我們已經確定將所有權交給社區的組件還有幾十個。

內部開源與升級後的工具

Facebook產品團隊使用React Native進行開發的體驗與開源有很大的區別。

Facebook沒有使用開源社區中很流行的工具,但我們有一個內部工具可以實現相同的目的。有些情況下,Facebook團隊可能已經習慣了外界沒有的工具。面對即將到來的開源架構,這些差異性可能會帶來很大的挑戰。

我們還將努力發布一些內部工具,改進對開源社區流行工具的支持。以下是我們需要解決的部分項目:

開源JSI,並讓社區能夠使用他們自己的JavaScript虛擬機,來替換React Native從最初版本就一直在使用的JavaScriptCore。我們會在今後的文章中介紹JSI的詳細信息,同時你可以從Parashuram在React大會上的講話(https://www.youtube.com/watch?v=UcqRXTriUVI)中了解更多有關JSI的信息。

支持Android上的64位庫。

在新架構下啟用調試。

改進對CocoaPods、Gradle、Maven和新Xcode構建系統的支持。

測試基礎架構

Facecbook的工程師在發布代碼時,如果通過所有測試,則認為代碼是安全的。這些測試可以判斷代碼改動是否有可能破壞我們自己的React Native功能。然而,Facebook通過不同的方法使用React Native。這些差異會讓我們在不知不覺中破壞開源的React Native。

我們將支持內部測試,並確保它們可以在一個非常接近開源的環境中運行。這有助於防止沒有通過測試的代碼流入開源。我們還將努力開發基礎架構,以便在GitHub上更好地測試核心代碼庫,方便將來的拉取請求可以輕鬆地包含測試。

再加上React Native核心的規模縮減,貢獻代碼的人能夠更快更自信地合併拉取請求。

公共API

Facebook將會像開源社區一樣通過公共API使用React Native,這可以減少無意中做出具有破壞性的改動。

為了解決這個問題,我們已經開始對內部調用進行轉換。我們的目標是融合穩定的公共API,以保證在1.0版中採用語義版本控制。

溝通

React Native是GitHub上貢獻者數量最多的開源項目之一。對此我們感到非常高興,我們希望繼續保持這種狀態。我們將會繼續努力採取一些措施(例如提高透明度和公開討論等)吸引更多的貢獻者。

文檔是React Native新手會遇到的第一件事,但它並不是我們工作的重點。我們想要解決這個問題,首先我們會重新利用自動生成的API參考文檔,創建專註於創建高質量用戶體驗的其他內容,並改進我們的發行說明。

時間線

我們計劃大約在明年完成這些項目。其中有些工作已經在進行中,例如JSI已經開源了。其他項目則需要更長的時間才能完成,例如縮減核心規模等。我們會盡最大努力向社區報告最新的進展。

請加入我們的「討論和提議」代碼庫(https://github.com/react-native-community/discussions-and-proposals),這是React Native社區發起的一項倡議,我們已經建立了React Native規劃中的幾項新方案。

原文:http://facebook.github.io/react-native/blog/2018/11/01/oss-roadmap

作者:Héctor Ramos,Facebook工程師。

譯者:彎月,責編:郭芮

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

Linux 之父:對不起,我錯了!
中秋國慶旅遊 App 市場競爭激烈!工具類 App 更易被蘋果推薦!

TAG:CSDN |