2018年のReact Nativeコミュニティの現状
2018年、React NativeコミュニティはReact Nativeの開発とコミュニケーションの方法について多くの変更を行いました。数年後に振り返ったとき、この変化がReact Nativeにとっての転換点だったとわかるだろうと信じています。
多くの人々が、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とラベル付けされた問題によって処理されていましたが、この戦略を他のライブラリ(例:React)が持つRFCアプローチに拡大したいと考えました。
この実験は、React Nativeのライフサイクルにおいてすぐにその役割を見出しました。Facebookチームは現在、コミュニティのRFCプロセスを使用して、React Nativeで改善できることについて議論し、Lean Coreプロジェクトを中心とした取り組みを調整しています(他にも興味深い議論があります)。
@ReactNativeComm 🐣
私たちは、これらの取り組みを伝える私たちのアプローチが、私たちが望んでいたほど効果的ではなかったことを認識しており、React Nativeコミュニティで起こっているすべてのこと(リリースから活発な議論まで)を皆さんがより簡単に把握できるようにするために、頼りになる新しいTwitterアカウント@ReactNativeCommを作成しました。
もしあなたがそのSNSを利用していない場合でも、GitHub経由でリポジトリをWatchできることを覚えておいてください。この機能はここ数ヶ月で改善され、リリースのみの通知を受け取ることが可能になったので、いずれにせよ利用を検討する価値があります。
この先に待っているもの 🎓
過去7〜8か月間、主要な貢献者たちはReact Native Community GitHub組織を強化し、React Nativeの開発に対する所有権をさらに高め、Facebookとの連携を強化してきました。しかし、これには常に、同様のプロジェクトが持つかもしれない正式な構造が欠けていました。
この組織は、ホストされているすべてのパッケージ/リポジトリに一連の標準を適用し、メンテナーがお互いを助け、コミュニティで合意された標準に準拠する高品質のコードを貢献するための単一の場所を提供することで、より大きな開発者コミュニティのすべての人の模範となることができます。
2019年初頭には、この新しいガイドライン一式が整備される予定です。専用のディスカッションでご意見をお聞かせください。
これらの変更により、コミュニティはより協力的になり、バージョン1.0に到達したときには、この共同の取り組みを活用して、私たち全員が(さらに)素晴らしいアプリを書き続けることができると確信しています 🤗
皆さんが私たちと同じように、このコミュニティの未来にワクワクしていることを願っています。上記のリポジトリで行われている議論や、皆さんが生み出す素晴らしいコードを通じて、皆さんの参加を楽しみにしています。
ハッピーコーディング!