跳到主要內容

React Native 每月精選 #2

·8 分鐘閱讀時間
Tomislav Tenodi
Shoutem 產品經理

React Native 每月會議持續進行!在本次會議中,我們邀請了 Infinite RedChain React, the React Native Conference 背後的偉大團隊。由於這裡的大多數人都在 Chain React 會議上發表演講,我們將會議推遲了一週。會議的演講已發佈到網路上,我鼓勵您查看。那麼,讓我們看看我們的團隊在做什麼。

團隊

在第二次會議中,共有 9 個團隊加入我們

筆記

以下是每個團隊的筆記

Airbnb

Callstack

  • Mike Grabowski 一如既往地管理 React Native 的每月發佈,包括發佈了一些 beta 版本。特別是,致力於將 v0.43.5 版本發佈到 npm,因為它可以解除 Windows 使用者的封鎖!
  • 關於 Haul 的緩慢但持續的工作正在進行中。有一個 pull request 添加了 HMR,並且其他改進也已發佈。最近獲得了一些業界領導者的採用。可能計劃開始在該領域進行全職有償工作。
  • 來自 Jest 團隊的 Michał Pierzchała 本月加入了 Callstack。他將協助維護 Haul,並可能參與 Metro BundlerJest 的工作。
  • Satyajit Sahoo 現在與我們同在,太棒了!
  • 我們的 OSS 部門即將推出許多很酷的東西。特別是,致力於將 Material Palette API 引入 React Native。計劃最終發佈我們的原生 iOS 套件,旨在提供與原生組件 1:1 的外觀和風格。

Expo

  • 最近推出了 Native Directory,以協助 React Native 生態系統中函式庫的可發現性和評估。問題:函式庫很多,難以測試,需要手動應用啟發法,並且不容易立即知道哪些是您應該使用的最佳函式庫。也很難知道某個函式庫是否與 CRNA/Expo 相容。因此 Native Directory 嘗試解決這些問題。查看並新增您的函式庫到其中。函式庫列表位於這裡。這只是我們的第一次嘗試,我們希望這由社群擁有和營運,而不僅僅是 Expo 人員。因此,如果您認為這很有價值並希望使其變得更好,請參與進來!
  • 在 Expo SDK 19 中,新增了在 Snack 中安裝 npm 套件的初始支援。如果您在使用過程中遇到任何問題,請告訴我們,我們仍在努力解決一些錯誤。連同 Native Directory,這應該可以輕鬆測試僅具有 JS 相依性或包含在 Expo SDK 中的相依性的函式庫。試試看
  • 發佈了 Expo SDK19,其中包含全面的改進,我們現在正在使用更新的 Android JSC
  • 正在與 Alexander Kotliarskyi 在文件中撰寫指南,其中包含有關如何改善應用程式使用者體驗的技巧列表。請加入並新增到列表中或協助撰寫部分內容!
  • 持續致力於:音訊/視訊、相機、手勢(與 Software Mansion 合作,react-native-gesture-handler)、GL 相機整合,並希望在 SDK20(8 月)中首次實現其中一些功能,並在此之前對其他功能進行重大改進。我們才剛開始在 Expo 用戶端中建構用於背景工作(地理位置、音訊、處理通知等)的基礎架構。
  • Adam Miskiewicz 在模仿 UINavigationControllerreact-navigation 中的過渡效果方面取得了一些不錯的進展。在 他的推文中查看早期版本 - 即將發佈。另請查看他向上游推送MaskedViewIOS。如果您有技能和意願為 Android 實作 MaskedView,那就太棒了!

Facebook

  • Facebook 正在內部探索在 React Native 內部嵌入原生 ComponentKitLitho 組件的可能性。
  • 非常歡迎對 React Native 做出貢獻!如果您想知道如何貢獻,「如何貢獻」指南描述了我們的開發流程,並列出了發送您的第一個 pull request 的步驟。還有其他不需要編寫程式碼的貢獻方式,例如分類問題或更新文件。
    • 在撰寫本文時,React Native 有 635開啟的問題249開啟的 pull request。這對於我們的維護者來說是壓倒性的,並且當內部修復問題時,很難確保相關任務得到更新。
    • 我們不確定在讓社群滿意的同時處理這個問題的最佳方法是什麼。一些(但不是全部!)選項包括關閉過時的問題、給予更多人管理問題的權限,以及自動關閉不遵循問題範本的問題。我們撰寫了「對維護者的期望」指南,以設定期望並避免意外。如果您對如何使維護者獲得更好的體驗,以及確保開啟問題和 pull request 的人員感到被聽到和重視有任何想法,請告訴我們!

GeekyAnts

  • 我們在 Chain React 會議上示範了 Designer Tool,它適用於 React Native 檔案。許多與會者註冊了候補名單。
  • 我們還在研究其他跨平台解決方案,例如 Google Flutter(即將進行重大比較)、Kotlin NativeApache Weex,以了解架構差異以及我們可以從中學習什麼來提高 React Native 的整體效能。
  • 我們的大多數應用程式都切換到 react-navigation,這提高了整體效能。
  • 此外,還發佈了 NativeBase Market - 一個適用於 React Native 組件和應用程式(適用於開發人員和由開發人員開發)的市場。

Infinite Red

Microsoft

  • CodePush 現在已整合到 Mobile Center 中。現有使用者的工作流程不會有任何改變。
    • 有些人回報了應用程式重複的問題 - 他們已經在 Mobile Center 上有一個應用程式。我們正在努力解決這些問題,但如果您有兩個應用程式,請告訴我們,我們可以為您合併它們。
  • Mobile Center 現在支援 CodePush 的推播通知。我們還展示了如何將通知和 CodePush 結合使用於 A/B 測試應用程式 - 這是 ReactNative 架構獨有的功能。
  • VS Code 在 ReactNative 中存在已知的偵錯問題 - 幾天後發佈的下一個擴充功能版本將修復該問題。
  • 由於 Microsoft 內部還有許多其他團隊也在從事 React Native 的工作,我們將努力在下次會議中獲得所有團隊的更好代表。

Shoutem

  • 完成了在 Shoutem 上簡化 React Native 開發的流程。在 Shoutem 上開發應用程式時,您可以使用所有標準的 react-native 命令。
  • 我們做了大量工作,試圖找出在 React Native 上進行效能分析的最佳方法。文件的很大一部分已經過時,我們將盡力在官方文件中建立 pull request,或至少在部落格文章中寫下我們的一些結論。
  • 將我們的導航解決方案切換到 react-navigation,因此我們可能很快就會收到一些回饋。
  • 我們在我們的工具組中發佈了一個新的 HTML 組件,它將原始 HTML 轉換為 React Native 組件樹。

Wix

  • 我們開始處理一個針對 Metro Bundler 的 pull request,其中包含 react-native-repackager 功能。我們更新了 react-native-repackager 以支援 RN 44(我們在生產環境中使用)。我們將其用於 detox 的模擬基礎架構。
  • 在過去的三週裡,我們一直在 detox 測試中涵蓋 Wix 應用程式。這是一個令人驚嘆的學習經驗,了解如何在如此大規模的應用程式(超過 40 位工程師)中減少手動 QA。因此,我們解決了 detox 的幾個問題,剛剛發佈了一個新版本。我很高興地報告,我們不辜負「零不穩定性政策」,並且到目前為止,測試一直穩定通過。
  • Detox for Android 正在順利推進。我們正在獲得社群的重大幫助。我們預計在約兩週內推出初始版本。
  • DetoxInstruments,我們的效能測試工具,正變得比我們最初預期的要大一些。我們現在計劃將其變成一個獨立工具,它不會與 detox 緊密耦合。它將允許調查一般 iOS 應用程式的效能。它也將與 detox 整合,以便我們可以對效能指標執行自動化測試。

下次會議

下次會議預定於 2017 年 8 月 16 日舉行。由於這只是我們的第二次會議,我們想知道這些筆記如何使 React Native 社群受益。如果您對我們應該如何改進會議的輸出有任何建議,請隨時在 Twitter 上 ping 我