2021年下半期のReact Native
過去1年間で、私たちの世界では非常に多くのことが変化しており、React Nativeも例外ではありません。私たちのチームに新しいメンバーが加わり(いつか直接会えるのが楽しみです!)、プロジェクトは成熟し、新しい機会が生まれました。この投稿や今後の投稿で、これらすべてを皆さんと共有できることを楽しみにしています!
Facebookでは、私たちのチームは半年ごとのサイクルで活動しています。各半年で、戦略を見直し、計画を立て、社内で共有します。今日、私たちはコミュニティの皆様に、下半期の計画を共有したいと思います。
2021年下半期は、React Nativeにとってエキサイティングな半年です。私たちの注力分野には、コミュニティの育成、オープンソースへの新しいアーキテクチャのロールアウトの開始、およびテクノロジーの推進が含まれます。
コミュニティを成功に導くための準備
React Nativeのオープンソースエコシステムは、その最大の強みの1つです。コミュニティとのパートナーシップを成長させるための最良の方法として、以下の分野を特定しました。
コミュニティエンゲージメント
全員が同じ方向に向かって進むために、私たちはビジョンと状況をコミュニティに継続的に伝えたいと考えています。進捗状況を段階的に公開することは、私たちにとって(まだ)自然なことではありません。この半年で、私たちはより一貫したコンテンツスケジュールに取り組み、筋肉を鍛え、摩擦を減らすためのプロセスを確立します。最新情報を共有するだけでなく、この機会を利用してコミュニティの成果を紹介したいと考えています。
新しいアーキテクチャのロールアウトとリリース
上半期に、FacebookアプリのすべてのReact Nativeモバイル製品への新しいReact Nativeアーキテクチャのロールアウトを完了しました。Facebookは、マーケットプレイスのタブやデートプロフィールなどのサーフェスで構成されており、1000を超えるサーフェスを移行しました!
下半期には、この新しいアーキテクチャをコミュニティに導入し始めます。ライブラリとアプリケーションを移行する方法を示すプレイブックを作成しました。すでに、人気のあるReact Nativeライブラリを管理する初期パートナーとドラフトを共有しています。彼らからフィードバックを得て、ライブラリのアップグレードをサポートし、プレイブックと実装を改善する方法を学ぶことを期待しています。作業が安定したら、プレイブックをより広く共有する予定です。
また、React Nativeのリリースプロセスを改善することにも注力しています。新しいReact Nativeアーキテクチャを段階的に出荷するには、頻繁で信頼性の高いリリースが必要です。私たちの目標は、リリースを妨げるものを早期に検出し、所要時間を短縮することです。これにより、コントリビューターと開発者の負担を軽減し、より予測可能なリリースタイムラインが可能になります。
リポジトリの健全性
開発者がテクノロジーを評価する際、重要なシグナルはリポジトリの健全性です。この印象は、プルリクエストのスループット、スター、最後のコミットの経過時間などのシグナルによって伝えられます。React Nativeリポジトリには、これまで、問題とプルリクエストがタイムリーにレビューされることを保証するプロセスがありませんでした。私たちの今半期の作業は2つあります。1つは、貢献の大きなバックログを解決する必要があり、もう1つは、入ってくる貢献を処理するための持続可能な慣行を構築する必要があります。この作業は、コミュニティが新しいアーキテクチャの使用を開始するにつれて、問題とPRを通じてコミュニティからのより多くのエンゲージメントを成功させるための準備にもなると考えています。このプロジェクトボードを使用して、バックログの進捗状況を追跡できます。
テクノロジーの推進
新しいアーキテクチャの機能
前述のとおり、私たちの新しいアーキテクチャは最近、Facebookモバイルアプリへのロールアウトを完了しました。React Nativeのパフォーマンス曲線を変更する新しい機能をすでに構築しています。これには、React Nativeでの同時レンダリングのサポートが含まれます。同時レンダリングにより、Reactは作業を一時停止および再開し、タッチジェスチャのような優先度の高いイベントにすばやく対応できます。また、同時レンダリングを使用して、画面上のユーザーインタラクションを遅くすることなく、画面外の製品機能のレンダリングにアイドル状態のCPUサイクルを使用することも非常に楽しみにしています。
モバイルとその先へ
FacebookでのReactを使用したモバイルエクスペリエンスの強化には目覚ましい成功を収めており、パートナーからも素晴らしいモバイル製品を目にしてきました。今、私たちはその成功をより多くのプラットフォームに広げたいと考えています!多くのプラットフォームをターゲットにすることで、新しい教訓を学び、モバイルプラットフォームでの提供をさらに改善できると考えています。(これについては、後の投稿で詳しく共有します。)エキサイティングなニュースは、これを実現するための措置をすでに開始していることです!
Messengerデスクトップ
昨年の夏、WindowsおよびmacOSでのReact Native開発を加速するためにMicrosoftと提携することで、モバイル以外の分野にも注力しました。FacebookのMessengerチームと提携して、デスクトップでのみ可能なユーザーエクスペリエンスを実現し、以前のElectron実装よりも大幅なパフォーマンス向上を実現しました。私たちのビジョンは、高品質で快適なネイティブデスクトップユーザーエクスペリエンスと、React Nativeの優れた開発者エクスペリエンスを組み合わせることです。
Messengerチームは、デスクトッププラットフォームと大型スクリーンの独自の機能をさらに解放するための新しい方法を見つけるなど、Messengerデスクトップアプリに対する意欲的な計画を持っています。デスクトップでのReact Nativeへの投資を増やすことで、これらのエクスペリエンスを引き続き実現できることを楽しみにしています。
仮想現実でのReact Native
Oculusは、これまで、VRでアプリケーションやゲームを購入するストアのようなコアエクスペリエンスを強化するために、React Nativeを長年使用してきました。下半期には、React NativeとOculusが提携して、VRに新しいエキサイティングなエクスペリエンスを提供します。また、VRからモバイルへ、モバイルからVRへと最適化と改善をもたらします。これには、コントローラーのような新しい入力タイプから、新しいメモリ使用量最適化まで、VRの独自の要件をサポートするためのReact Nativeの拡張が含まれます。これは、React Nativeを使用してVR向けに没入型エクスペリエンスを構築する方法を探求し、影響を与えるためのエキサイティングな旅の始まりです。
まとめ
私たちのH2計画が、私たちと同じように皆様をワクワクさせてくれることを願っています。今後数ヶ月でさらに多くの情報を共有できることを楽しみにしています!また、2021年9月1日にはReact Native EUに参加し、チームメイトのジョシュア・グロス(@joshuaisgross)が、世界最大のReact Nativeアプリのアーキテクチャをどのように置き換えたかについて発表します。まだの方は、React Native EUに登録してください!それまでの間、イベント、ロードマップなどに関する最新情報は、Twitter(@reactnative)でご確認ください。