KitchHike Tech Blog

KitchHike Product, Design and Engineering Teams

RN Features 2020年12月号 - React Native Advent Calendar 2020, React Server Components, アップデートのハマりポイント事例

はじめに

キッチハイクのエンジニアメンバーでReact Nativeの気になるニュースを持ち寄ってみました!

React Native Advent Calendar 2020

続々と記事公開されてますね!

qiita.com

キッチハイク関係者からは3人寄稿しています。

qiita.com

qiita.com

qiita.com

TECH STAND #2 React Native にLT登壇しました

キッチハイクから @shoken0x が React Nativeコンポーネントを公開してわかった3つのこと というタイトルでLTしてきました。

speakerdeck.com

standfm.connpass.com

次回は1月にあるそうです。

コメント
Learn Once, Write Anywhereを実感するスライド」
「Stand.fmさんはこれからもReact Nativeのイベントを開催するそうです」
「盛り上げていきましょう!キッチハイクも協力します〜」

Flutter がWindowsデスクトップアプリに対応へ

thebridge.jp

コメント
「Flutter もデスクトップアプリに対応してきた」
「React Nativeはreact-native-for-windowsがありますね」

Wix Multi-Module architecture for React Native

Part III として React Native at Wix — The Architecture II (Deep dive) が公開。

medium.com

前回 ( React Native at Wix — The Architecture ) の話 : Wixの組織構造に合わせてどのように調整しているのか、Multi-Module Architecture を開発して使用している話。そして、それがどのように独立した開発を実現し、各開発者グループのデプロイ体験を向上させるのに役立っているのかを紹介。

今回はコード自体を深く掘り下げて、アーキテクチャの実用的な実装を紹介している。

react-native-wix-engine (公開されている実装は一部)を使って、マルチモジュールアーキテクチャを実現させている。

github.com

f:id:narukami894:20201224192556p:plain https://github.com/wix-incubator/react-native-wix-engine から引用

サマリ

  • モジュールは独立して動作し、リリースプロセスに応じて新しいバージョンをリリースすることができる
  • すべてのチームが同じインフラストラクチャ上で、また同じインフラストラクチャで作業することができる
  • モジュール開発者はネイティブコードを扱うことはない
  • 100人以上の開発者が毎日お互いのコードを壊さずに快適に作業している

コメント
「モジュール担当、ネイティブ担当と完全に分かれているということか」
「我々も100人規模のチームになったら真似しましょう」
「全部自前でやることで、マルチプラットフォームの開発をしやすくしようとしているのですかね?」

Base Web: Uberが開発したWeb ReactのUIフレームワーク

baseweb.design

  • flow types と TypeScriptに対応
  • ソースも公開されている

github.com

コメント
「カタログサイトもちゃんと公開されていて綺麗」
「flow types と TypeScript 両方に対応しているしとても親切だな」
「React界隈って、UIフレームワークがとても種類ありますよね〜、react-native-elementsとか」
「CSSフレームワークも一時期種類がたくさんありましたね」
「Component指向は、ポータブルな設計にできるのでカスタマイズしたくなったときに取り外しができる」

React Server Components

reactjs.org

  • Reactの公式ブログに12/21に掲載された記事
  • クライアント側にbundleをダウンロードさせず、サーバサイドでレンダリングする仕組み
  • まだ実験的な取り組み
  • 紹介記事

dev.to

コメント
「SSRとの違いがまだよくわかっていない」
「SSRは最終的にすべての依存関係をダウンロードするけど、React Server Componentsだと違うらしいですね」
「1時間の動画を見ましょう」
「AirbnbのSSRライブラリ、Hypernovaを思い出しました」

github.com

React Native 2020年の振り返り

qiita.com

コメント

「今年のReact Native, 印象に残った機能はありますか?」
「Flipper, アップグレード時に苦心したので来年はもっと使っていきたいですね」
「2021年も楽しみ!」

RN アプリアップデートのハマりポイント事例

takashiokusawa.medium.com

  • ニュースアプリのようなUI を持つAndroid アプリ
  • react-native-scrollable-tabview のハマりポイント
  • UI 更新時のパフォーマンス改善

コメント
「2017年からAdvent Calendarに参加されていて、しっかり知見を公開されていてありがたい」
react-native-scrollable-tabview、キッチハイクでも使っていますね」
「このライブラリを使った実装でハマったことがありました。こういう記事は参考になります」
「useMemoを使ってパフォーマンス改善したと書いてあるね」

ReactNativeをv0.63.3にアップグレードしてハマったこと

note.com

コメント
「ハマり関連でこちらの記事もよかったです」
「ほぼ最新のアップグレードでハマった箇所を公開してくれるのは助かる」

さいごに

これからも社内で持ち寄った技術ネタを共有します!

We're Hiring

キッチハイクでは、React Native アプリエンジニアを募集中です!

www.wantedly.com www.wantedly.com www.wantedly.com