【RN Update 2023年12月】今年一年を振り返って 他
はじめに
こんにちは!
犬専用の音楽アプリ オトとりっぷでエンジニアしています、足立です。
この記事では、React Native の一年を振り返りたいと思います。
いつもの今月の React Native に関連するニュースは後半にございますので、よろしければそちらもどうぞ!
目次
- 今年一年振り返って
- React Native v0.71 → v0.73
- Expo の一年
- 3rd ライブラリのアップデート
- ライブラリ情報
- 【React Native】 v0.73 がリリース
- 【Redux Redux】 v9 がリリース
今年一年振り返って
今年の 1 月に React Native アップデート情報記事を出し始めて、1 年立ちました。最初のモチベーションは、「個人的な趣味 日課であるライブラリアップデート情報を誰かと共有したい」でした。誰か一人でも役に立てばと思い始めた本稿ですが、「見てますよ」とお声がけいただいた時は本当に嬉しかったです。来年もきっと誰かの役に立つと信じて、続けていきたいと思います。
もし私が取り上げてないライブラリにも要望がありましたらご連絡いただけると幸いです。
React Native v0.71 → v0.73
今年は、 1 月に v0.71 が、6 月に v0.72 が、12 月に v0.73 がリリースされました。React Native のサポートポリシーによると、stable から-2 バージョンまでがサポート対象です。つまり、今年一年以内のアップデートだけでサポート対象ギリギリになってしまうということです。すごく早い開発サイクルなので、常に最新の情報を仕入れておくことが大事ですね。
Expo の一年
公式から今年一年の振り返りが公開されています。
個人的に一番注目したリリースといえば、Expo Router の発表ですね。
Web と Mobile を一つのファイルルーティングシステムで表現しようとする試みが非常に挑戦的で、今後の発展が楽しみです。
また、今年の Expo は v48 と v49 がリリースされました。
来年には Expo v50 のリリースが予定されており、ベータテストが開始されています。
expo-camera などのクラシックなライブラリのアップデートも予定されており、非常に楽しみです。
3rd ライブラリのアップデート
今年も多くの有名ライブラリのメジャーアップデートがありました。
例えば、
- React Native Reanimated v3
- React Native Vision Camera v3
- React Native Storybook v6
などなど、枚挙にいとまがありません。
React Native のライブラリ開発における一番のネックは、Web エンジニアが iOS, Android 周りに決して詳しくない点です。結果ライブラリ開発が一部の有志に依存する傾向があると思います。
一方でExpo Modules APIの登場により、ネイティブと JS とのブリッジ部が簡単に記述できるようになったおかげで新たなライブラリもちらほら登場しています。私も食わず嫌いをせずに新しい技術にどんどん飛び込んでいきたいと思う所存です。
ライブラリ情報
【React Native】 v0.73 がリリース
React Native v0.73 がリリースしました!
主な変更点は以下のとおりです。
- デバッカーの変更 : Flipper を DevTools に置き換えていくための準備開始
- Android 関連 : Kotlin が推奨言語に変更
- New Architecture 関連 : Bridgeless Mode のリリース
いよいよ New Architecture 関連が大詰めな雰囲気ですね。全ての 3rd ライブラリの移行を待つのではなく、第 3 の手段である Renderer Interop Layer への挑戦が本当に楽しみです。
一方で、2023 年 12 月 22 日現在、一部のライブラリは v0.73 に対応していない可能性があります。私の環境でもこちらの Issueと同様に、Expo と React Native Reanimated を同時に利用すると発生するバグを確認しており、 New Architecture 関連のアップデートが 3rd ライブラリに影響を与えていそうです。ご注意ください。
【React Redux】 v9 がリリース
Redux およびそのエコシステムがメジャーアップデートしました!v8 との違いは、React 18 が必須になりました。
今まで useSyncExternalStore と use-sync-external-store が共存しているせいでバンドルサイズが大きくなってしまっていたのを、React 18 必須によって useSyncExternalStore に統一され解消したようです。
最新 Redux でも引き続き、Toolkit と共に利用することが推奨されています。
最新の記法に追随されている方は特に破壊的変更はありませんが、マイグレーションはこちらです。
最後に
ここまで読んでいただきありがとうございました。
もし犬専用の音楽アプリに興味を持っていただけたら、ぜひダウンロードしてみてください!
Discussion