2018年のReact Nativeコミュニティの現状
2018年、React NativeコミュニティはReact Nativeの開発とコミュニケーションの方法について多くの変更を行いました。数年後に振り返ったとき、この変化がReact Nativeにとっての転換点だったとわかるだろうと信じています。
多くの人々が、広くFabricとして知られるReact Nativeのアーキテクチャの書き換えに期待を寄せています。これは、React Nativeのアーキテクチャにおける根本的な制約を修正し、JSIとTurboModulesと共にReact Nativeを将来の成功へと導くものです。
2018年の最も大きな変化は、React Nativeコミュニティに権限を委譲したことでした。当初からFacebookは世界中の開発者がReact Nativeのオープンソースプロジェクトに参加することを奨励してきました。それ以来、多くのコアコントリビューターが現れ、リリースプロセスなどを担当するようになりました。
これらのメンバーは、コミュニティ全体がこのプロジェクトの未来を形作る力をより持てるようにするため、以下のリソースを用いていくつかの重要なステップを踏み出しました。
react-native-releases
📬
1月に作成されたこのリポジトリは、誰もがより協力的な方法で新しいリリースに追いつけるようにするという目的と、特定のリリースに含めるべきcherry-pick(例えば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コミュニティで起こっているすべてのこと(リリースから活発な議論まで)を皆さんがより簡単に把握できるようにするため、新しいTwitterアカウント@ReactNativeCommを作成しました。
もしあなたがそのSNSを利用していない場合でも、GitHub経由でリポジトリをWatchできることを覚えておいてください。この機能はここ数ヶ月で改善され、リリースのみの通知を受け取ることが可能になったので、いずれにせよ利用を検討する価値があります。
今後の展望 🎓
過去7~8ヶ月にわたり、コアコントリビューターはReact Native CommunityのGitHub organizationを強化し、React Nativeの開発により大きなオーナーシップを持ち、Facebookとの連携を強化してきました。しかし、これには同様のプロジェクトが持つような正式な構造が常に欠けていました。
このorganizationは、そこにホストされているすべてのパッケージ/リポジトリに一連の標準を強制することで、より大きな開発者コミュニティの皆さんの模範となることができます。これにより、メンテナーがお互いに助け合い、コミュニティで合意された標準に準拠した質の高いコードをコントリビュートするための一元的な場所を提供します。
2019年初頭には、この新しいガイドライン一式が整備される予定です。専用のディスカッションでご意見をお聞かせください。
これらの変更により、コミュニティはより協力的になり、バージョン1.0に到達したときには、この共同の取り組みを活用して、私たち全員が(さらに)素晴らしいアプリを書き続けることができると確信しています 🤗
皆さんが私たちと同じように、このコミュニティの未来にワクワクしていることを願っています。上記のリポジトリで行われている議論や、皆さんが生み出す素晴らしいコードを通じて、皆さんの参加を楽しみにしています。
ハッピーコーディング!