React Native - 2021年下半期の振り返り
React Native 0.67のリリースにまだ皆が興奮している一方で、私たちは、過去半期にコミュニティが達成したことを祝福し、React Nativeの未来について目前に迫っていることを共有する時間をとりたいと思います。
特に、2021年下半期は、私たちとコミュニティにとってエキサイティングな半年であり、オープンソースのエコシステムにさらに投資する機会がありました。いくつかのプロセスを見直し、ゼロから新しいプロセスを作成しました。これらは、あなた、私たち、そしてコミュニティがより良いReact Native体験を楽しむのに役立ちます。
リポジトリの健全性
2021年下半期には、リポジトリが長年にわたって蓄積してきたOSSの負債の一部に取り組むことに投資しました。具体的には、私たちの焦点のほとんどはプルリクエストにありました。すべての新しいプルリクエストがタイムリーに処理されるように、内部プロセスを構築しました。
完全なリストではありませんが、コントリビューターから受け取ったいくつかの影響力のあるPRを強調したいと思います。
- アクセシビリティ
- #31630
Flatlistによるコレクションへの出入りサポートを追加by @anaskhraza
- #31630
- クラッシュ
- #29452
Fix - TextInput DrawableでNull Pointer Exception RuntimeErrorを回避by @fabriziobertoglio1987
- #29452
- 表示
- #31777
fix: TouchableNativeFeedbackのリップルが以前のタッチ位置から始まるby @intergalacticspacehighway - #31789
Androidで64 KBを超えるBlobのサポートを修正by @tomekzaw - #31007
selectionColorがAndroid TextInputの選択ハンドルをスタイルしない問題を修正by @fabriziobertoglio1987 - #32398
Androidのボーダー配置のリグレッションを修正by @oblador - #29099
[Android] 個別の (左、上、右、下) の点線/破線を設定できるようにするby @fabriziobertoglio1987 - #29117
[Android] フォントの太さの数値の修正by @fabriziobertoglio1987
- #31777
- インタラクション
- #28995
[Android] TextInputのプレースホルダーがnullの場合にカーソルが右にジャンプする問題を修正by @fabriziobertoglio1987 - #28952
[Android] FlatListで選択できないテキストを修正by @fabriziobertoglio1987 - #29046
[Android] 数字キーでonKeyPressイベントが発火しないby @fabriziobertoglio1987 - #31500
fix#29319 - iOSモーダルを閉じるby @intergalacticspacehighway - #32179
Fix: カーソルを移動しようとすると複数行テキスト入力が「ガクガク」し始める問題を修正。by @xiankuncheng - #29039
Androidで親の境界外のビューへのタップが機能するように修正by @hsource
- #28995
- パフォーマンス
- #31764
iOSでのフォント処理を最適化by @Adlai-Holler - #32536
分割画面でアプリコンポーネントを再構築しないby @Somena1
- #31764
- テスト
- #31401
VirtualizedListのレンダークセに対するユニットテストを追加by @NickGerleman
- #31401
これらのPRの中には、MetaとOSSコミュニティ全体の両方に影響を与えていた問題を解決したものもあり、対応する閉鎖された問題のリアクション数からもその影響の大きさがわかります。
他にも多くのPRを紹介したいのですが、バグの解決とReact Nativeの改善のために時間を費やしてくださったすべての方々に、改めて感謝したいと思います。
コミュニティエンゲージメント
半期の初めに、私たちはコミュニティとのコミュニケーションを増やし、その行動を継続するためのプロセスを設定するという目標を掲げました。以下は、2021年下半期の私たちの関わりの一部です。
- React Native EUに参加する機会があり、Joshua Grossが「FacebookアプリにFabricレンダラーを導入する」という講演を行いました。
- Redditで「何でも聞いてください(AUA)」を開催し、100以上の質問を受け取りました!AUAは、私たちにとってはコミュニティの関与度を知る良い機会であり、皆さんにとってはあらゆる種類の質問をする良い機会です。まだの方は、いくつかの回答が非常に洞察に富んでいるので、ぜひ確認してみてください。
- マルチプラットフォームビジョン、Android 12およびiOS 15での注意点ガイド、そしてReact NativeのデフォルトJSエンジンとしてHermesが導入されるための進捗状況とビジョンを共有しました!
- 私たちのKevin Gozaliは、新しいアーキテクチャについて語るためにReact Native Radioポッドキャストのエピソードに出演しました。
- ReactConf 2021では、ReactConfのRick HanlonがReactとReact Nativeの統合されたマルチプラットフォームビジョンを共有しました。さらに、Eric RozellとSteven Moyesが、React Native DesktopがMetaとMicrosoftの両方のアプリをサポートし、マルチプラットフォームビジョンを実践的に示す上で達成した目覚ましい進捗を共有しました。
2021年下半期にさらなるアップデートを共有することに加え、私たちはこれまで以上にコミュニティに頼りました。私たちは、コントリビューターが新しいアーキテクチャの初期ドラフトを試用する中で得た重要なフィードバックに依存しました。また、リリースに関する重要な問題や改善点のデバッグにおいて、コミュニティの専門知識に大きく支えられました。
私たちのコミュニティがReact Nativeにもたらす知識は豊富であり、私たちはそれを育み続ける必要があります。
新しいアーキテクチャの展開とリリース
2022年は、オープンソースにおける新アーキテクチャの年となるでしょう。
私たちは、新アーキテクチャをアプリやライブラリに展開するために必要なインフラストラクチャを提供するために懸命に取り組んできました。初期段階のフィードバックを得るために、パートナーや主要な貢献者/ライブラリメンテナーを巻き込み、新アーキテクチャのサポートを改善しました。
現在、ウェブサイトで新しいガイド「新アーキテクチャの入門」をリリースする準備をしています。これは、2022年にリリースされる資料のコレクションの入り口となり、新しいアーキテクチャでプロジェクトを移行/開始するのに役立ちます。
さらに、新アーキテクチャの資料に関するフィードバックを提供することの重要性を強調したいと思います。私たちはまだ最後の詳細を確定している段階であり、皆さんの意見は誰もが新しいアーキテクチャをよりシームレスに採用するのに役立つでしょう。
リリースは、新しいアーキテクチャの展開において重要な役割を果たします。前半の目標は、リリースを阻害する問題が停滞しないようにすることでした。私たちは、説明責任を向上させるためにプロセスと責任を明確化し、改善することで問題に取り組みました。リリースの調整は現在、専用のディスカッションリポジトリで、より明確なリリース問題報告で行われています。
2022年上半期も、新アーキテクチャの展開を支援するために、リリースの責任に関する検討を継続します。リリース候補のテストや改善作業にご協力いただける場合は、お気軽にディスカッションにご参加ください!
モバイル、そしてその先へ
ReactConfの講演ラインナップからもわかるように、React NativeはAndroidとiOSだけではありません。
2021年の初めに、私たちはマルチプラットフォームビジョンを共有し、デスクトップとVRの両方でReact Nativeの展開に成功しました。
私たちは、プラットフォーム固有のパターンをReact Native体験に統合することを楽しみにしています。
最後に、2021年下半期における多大なご支援に対し、コミュニティの皆様に改めて感謝申し上げます。コントリビューターがGitHubで協力し、互いに支え合い、バグを修正し、知見を共有し、React Nativeを何百万ものユーザーに届ける手助けをしてくださる姿は、いつも驚くべきものです。
今後の展開にご期待ください。そして、さらに素晴らしい2022年を楽しみにしています🎉!
