2018年のReact Nativeコミュニティの状態
2018年、React Nativeコミュニティは、React Nativeの開発方法とコミュニケーション方法に多くの変更を加えました。数年後、このシフトがReact Nativeにとって転換点であったと振り返ることになるでしょう。
多くの人が、Fabricとして広く知られているReact Nativeのアーキテクチャの書き換えに期待を寄せています。Fabricは、React Nativeのアーキテクチャにおける根本的な制限を解消し、JSIとTurboModulesと共に、React Nativeの将来の成功を確実なものにするでしょう。
2018年における最大の変化は、React Nativeコミュニティのエンパワーメントでした。当初からFacebookは、世界中の開発者がReact Nativeのオープンソースプロジェクトに参加することを奨励してきました。それ以来、リリースプロセスなどを処理する多くのコアコントリビューターが登場しました。
これらのメンバーは、以下のリソースを使用して、コミュニティ全体をよりエンパワーメントし、このプロジェクトの未来を形作るためのいくつかの重要なステップを踏み出しました。
react-native-releases
📬
1月に作成されたこのリポジトリは、誰もがより協調的な方法で新しいリリースを最新の状態に保つことを可能にし、特定のリリースに何が含まれるかについての会話を、チェリーピックを提案したい人々に開きました(0.57.8とその以前のすべてのバージョンなど)。
これは、毎月のリリースサイクルから離れ、現在バージョン0.57.xで使用されている「長期サポート」アプローチに移行する原動力となっています。
これらの決定に至るまで、半分は今年作成されたもう一つのリポジトリによるものです。
discussions-and-proposals
🗣
7月に作成されたこのリポジトリは、React Nativeに関する会話のためのよりオープンな環境というアイデアを拡大しました。以前は、このニーズは、メインリポジトリでFor Discussion
というラベルが付いたissueによって処理されていましたが、この戦略を他のライブラリ(例:React)が採用しているRFCアプローチに拡大したいと考えていました。
この実験は、すぐにReact Nativeのライフサイクルにおいて役割を見出しました。Facebookチームは現在、コミュニティのRFCプロセスを使用して、React Nativeを改善できる点について話し合い、Lean Coreプロジェクトを中心とした取り組みを調整しています - その他の興味深い議論も含まれています。
@ReactNativeComm 🐣
私たちは、これらの取り組みを伝えるためのアプローチが、私たちが望んでいたほど効果的ではなかったことを認識しており、皆さんにReact Nativeコミュニティ(リリースからアクティブな議論まで)で起こっているすべてのことを簡単に把握できるようにするために、@ReactNativeCommという新しいTwitterアカウントを作成しました。
そのソーシャルネットワークにいない場合は、GitHub経由で常にリポジトリを監視できることを覚えておいてください。この機能はここ数ヶ月で、リリースのみを通知できる可能性が向上したため、いずれにしても使用することを検討する必要があります。
今後の展望 🎓
過去7〜8ヶ月間、コアコントリビューターはReact Native Community GitHub組織を強化し、React Nativeの開発においてより多くの責任を負い、Facebookとの協力を強化しました。しかし、これには常に、同様のプロジェクトが備えている正式な構造が不足していました。
この組織は、そこにホストされているすべてのパッケージ/リポジトリに対して一連の標準を適用し、メンテナーがお互いに助け合い、コミュニティで合意された標準に準拠した高品質のコードに貢献するための単一の場所を提供することにより、より大きな開発者コミュニティ内のすべての人の模範となることができます。
2019年初頭には、この新しいガイドラインが導入されます。専用のディスカッションで、ご意見をお聞かせください。
これらの変更により、コミュニティがより協調的になり、1.0に到達したとき、私たちは皆、この共同の努力を活用して(さらに)素晴らしいアプリを書き続けることができると確信しています 🤗
このコミュニティの未来について、私たちと同じくらい興奮していただければ幸いです。上記のリストに記載されているリポジトリで行われている会話、またはあなたが作成する素晴らしいコードのいずれかに参加してくださることを楽しみにしています。
楽しいコーディングを!