React Native - 2021年下半期の振り返り
皆さんがまだReact Native 0.67のリリースに興奮している中、私たちは少し時間を取って、昨年の下半期にコミュニティが達成したことを祝い、React Nativeの未来について今後の展望を共有したいと思います。
特に、2021年下半期は私たちとコミュニティの両方にとってエキサイティングな半年であり、オープンソースエコシステムにさらに投資する機会がありました。私たちはいくつかのプロセスを刷新し、ゼロから新しいプロセスを作成しました。これにより、あなた、私たち、そしてコミュニティが、より良いReact Native体験を享受できるようになるでしょう。
リポジトリの健全性
2021年下半期、私たちはリポジトリが長年にわたって蓄積してきたOSSの負債の一部に取り組むことに投資しました。具体的には、私たちの焦点のほとんどはプルリクエストに関するものでした。新しいプルリクエストすべてがタイムリーに対応されるように、内部プロセスを構築しました。
これは完全なリストではありませんが、コントリビューターから受け取ったいくつかの影響力のあるPRをハイライトしたいと思います。
- アクセシビリティ
- #31630
Flatlistによるコレクションへの出入りサポートを追加
@anaskhraza作
- #31630
- クラッシュ
- #29452
修正 - Null Pointer ExceptionのRuntimeErrorを避けるためのTextInput Drawable
@fabriziobertoglio1987作
- #29452
- 表示
- #31777
修正: TouchableNativeFeedbackのリップルが前回のタッチ位置から開始する問題
@intergalacticspacehighway作 - #31789
Androidで64 KBを超えるblobのサポートを修正
@tomekzaw作 - #31007
selectionColorがAndroid TextInputの選択ハンドルをスタイルしない問題を修正
@fabriziobertoglio1987作 - #32398
Androidのボーダー位置のリグレッションを修正
@oblador作 - #29099
[Android] 個々の (左、上、右、下) 点線/破線の設定を許可
@fabriziobertoglio1987作 - #29117
[Android] フォントの太さの数値の修正
@fabriziobertoglio1987作
- #31777
- インタラクション
- #28995
[Android] プレースホルダがnullの場合にTextInputのカーソルが右にジャンプする問題を修正
@fabriziobertoglio1987作 - #28952
[Android] FlatList内の選択不可能なTextを修正
@fabriziobertoglio1987作 - #29046
[Android] 数字キーでonKeyPressイベントが発火しない問題を修正
@fabriziobertoglio1987作 - #31500
修正#29319 - ios モーダルを閉じる
@intergalacticspacehighway作 - #32179
修正: 複数行のtextinputでカーソルを動かそうとすると「ガクガク」し始める問題
@xiankuncheng作 - #29039
Androidで親の境界外のビューへのタップが機能するように修正
@hsource作
- #28995
- パフォーマンス
- #31764
iOSのフォント処理を最適化
@Adlai-Holler作 - #32536
分割画面時にアプリコンポーネントを再構築しない
@Somena1作
- #31764
- テスト
- #31401
VirtualizedListのレンダリングの癖に対する単体テストを追加
@NickGerleman作
- #31401
これらのPRの中には、MetaとOSSコミュニティ全体に影響を与えていた問題に対処したものもあり、それらがクローズした対応するissueでのリアクションの数からもそれがうかがえます。
他にも取り上げたいPRはたくさんありますが、バグの対処やReact Nativeの改善のために時間を費やしてくださっているすべての人々に、改めて感謝したいと思います。
コミュニティエンゲージメント
この半期の初めに、私たちはコミュニティとより多くコミュニケーションを取り、その行動を継続するためのプロセスを設定するという目標を立てました。2021年下半期の私たちのエンゲージメントの一部を以下に示します。
- 私たちはReact Native EUに参加する機会があり、Joshua Grossによる「「Facebook」アプリにFabricレンダラを導入する」というトークを行いました。
- 私たちはRedditで「Ask Us Anything」(AUA、何でも聞いてください)を開催し、100以上の質問をいただきました!AUAは、私たちがコミュニティのエンゲージメントを感じ取り、皆さんがどんな質問でもできる素晴らしい機会です。まだご覧になっていない方は、いくつかの回答は非常に洞察に富んでいるので、ぜひチェックしてみてください。
- 私たちは多くのプラットフォームへのビジョン、Android 12とiOS 15の落とし穴に関するガイド、そしてHermesがReact NativeのデフォルトJSエンジンになるための進捗とビジョンを共有しました!
- 私たちのチームのKevin GozaliがReact Native Radioポッドキャストのエピソードに出演し、新しいアーキテクチャについて話しました。
- ReactConf 2021では、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年を楽しみにしています🎉!