React Nativeマンスリー #1
·6分で読めます
Shoutemでは、React Nativeのごく初期の段階から関わる機会に恵まれました。私たちは、初日からこの素晴らしいコミュニティの一員になりたいと決意しました。すぐに、コミュニティの成長と改善のペースに追いつくのはほぼ不可能だと気づきました。そのため、主要なReact Nativeコントリビューターが各自の取り組みと計画を簡潔に発表できる月例会議を組織することにしました。
月例会議
月例会議の最初のセッションは2017年6月14日に開催されました。React Native Monthlyのミッションはシンプルかつ明確です。React Nativeコミュニティを改善すること。チームの取り組みを発表することで、オフラインで行われるチーム間の連携が容易になります。
チーム
第1回ミーティングには、8つのチームが参加しました。
今後のセッションでは、より多くのコアコントリビューターが参加してくれることを期待しています!
ノート
各チームの計画は、より広い層の関心事となる可能性があるため、ここReact Nativeブログで共有します。以下がその内容です。
Airbnb
ViewとAccessibilityInfoネイティブモジュールにA11y (アクセシビリティ) APIを追加する予定です。- Androidのネイティブモジュールに、実行スレッドを指定できるAPIを追加することを検討します。
- 初期化パフォーマンスを改善する可能性について調査を進めています。
- 「unbundle」の上に、さらに洗練されたバンドル戦略をいくつか検討しています。
Callstack
- E2EテストにDetoxを使用することで、リリースプロセスの改善を検討しています。プルリクエストは間もなく提出される予定です。
- 取り組んできたBlobのプルリクエストがマージされ、後続のプルリクエストも準備中です。
- Metro Bundlerと比較してHaulがどのように機能するかを見るため、社内プロジェクト全体でその採用を増やしています。webpackチームと連携して、より優れたマルチスレッドパフォーマンスに取り組んでいます。
- 社内で、オープンソースプロジェクトを管理するためのより良いインフラを実装しました。今後数週間で、より多くのものを公開する予定です。
- React Native Europeカンファレンスが近づいていますが、まだ特筆すべきことはありません。皆さん、ぜひご参加ください!
- 代替案(特にネイティブナビゲーション)を調査するため、react-navigationから一時的に離れています。
Expo
- Snackでnpmモジュールをインストールできるようにする作業を進めています。これはライブラリがドキュメントにサンプルを追加する際に役立つでしょう。
- Software MansionのKrzysztofや他の人々と協力して、AndroidでのJSCアップデートとジェスチャーハンドリングライブラリに取り組んでいます。
- Adam Miskiewiczは、react-navigationに焦点を移しています。
- Create React Native Appはドキュメントの入門ガイドにあります。Expoは、ライブラリの作者に、そのライブラリがCRNAで動作するかどうか、動作する場合、どのようにセットアップするかを明確に説明するよう促したいと考えています。
Facebook
- React Nativeのパッケージャーは現在、独立したリポジトリであるMetro Bundlerです。ロンドンにいるMetro Bundlerチームは、コミュニティのニーズに対応し、React Native以外の追加のユースケースのためのモジュール性を改善し、問題やPRへの対応を迅速化することに意欲を燃やしています。
- 今後数ヶ月で、React NativeチームはプリミティブコンポーネントのAPIを洗練させる作業に取り組みます。レイアウトの癖、アクセシビリティ、Flowの型付けに関する改善が期待されます。
- React Nativeチームは今年、WindowsやmacOSといったサードパーティプラットフォームを完全にサポートするためのリファクタリングを行い、コアのモジュール性を向上させる計画です。
GeekyAnts
- チームは、
.jsファイルを直接操作するUI/UXデザインアプリ(コードネーム:Builder)を開発中です。現在はReact Nativeのみをサポートしており、Adobe XDやSketchに似ています。 - 既存のReact Nativeアプリをエディタで読み込み、(デザイナーとして視覚的に)変更を加え、その変更を直接JSファイルに保存できるようにするため、チームは懸命に取り組んでいます。
- デザイナーと開発者の間の溝を埋め、同じリポジトリで作業できるようにすることを目指しています。
- また、NativeBaseは最近、GitHubスターが5,000に達しました。
Microsoft
- CodePushは現在、Mobile Centerに統合されています。これは、配布、分析、およびその他のサービスとのより統合されたエクスペリエンスを提供する最初のステップです。発表はこちらをご覧ください。
- VS Codeにはデバッグに関するバグがあり、現在その修正に取り組んでおり、新しいビルドが提供される予定です。
- 統合テストのためにDetoxを調査しており、クラッシュレポートと共に変数を取得するためにJSC Contextに注目しています。
Shoutem
- React Nativeコミュニティのツールを使ってShoutemアプリでの作業をより簡単にします。Shoutemで作成されたアプリを実行するために、すべてのReact Nativeコマンドを使用できるようになります。
- React Nativeのプロファイリングツールを調査しています。セットアップに多くの問題があったため、その過程で得られた知見をいくつか書き出す予定です。
- Shoutemは、React Nativeを既存のネイティブアプリと統合しやすくする作業に取り組んでいます。コミュニティからのフィードバックを得るため、社内で開発したコンセプトをドキュメント化する予定です。
Wix
- Wixアプリの重要な部分を「手動QAなし」にするために、Detoxを社内で採用するよう取り組んでいます。その結果、Detoxは数十人の開発者によって本番環境で extensively 使用され、急速に成熟しています。
- ビルド時に任意のファイル拡張子をオーバーライドできるようにMetro Bundlerのサポートを追加する作業を行っています。「ios」や「android」だけでなく、「e2e」や「detox」のようなカスタム拡張子もサポートします。E2Eモックにこれを使用する計画です。react-native-repackagerというライブラリはすでに公開されており、現在PRに取り組んでいます。
- パフォーマンステストの自動化を調査しています。これはDetoxInstrumentsという新しいリポジトリです。オープンソースで開発されているので、ぜひご覧ください。
- KPNのコントリビューターと協力して、Android版Detoxと実機でのサポートに取り組んでいます。
- シミュレーター/デバイスを自動化する必要がある他のツールを構築できるように、「プラットフォームとしてのDetox」を検討しています。例としては、React Native用のStorybookや、Ramの結合テストのアイデアがあります。
次のセッション
会議は4週間ごとに開催されます。次回のセッションは2017年7月12日に予定されています。この会議を開始したばかりですので、これらのメモがReact Nativeコミュニティにどのように役立つかを知りたいです。次回のセッションで取り上げるべき内容や、会議の成果をどのように改善すべきかについて何か提案がありましたら、Twitterで私にメッセージを送ってください。
