【RN Update 2024年1月】Expo v50がリリース 他
はじめに
こんにちは!
犬専用の音楽アプリ オトとりっぷでエンジニアしています、足立です。
この記事では、今月の React Native に関連するニュースを紹介します。
目次
- ライブラリ情報
- 【Expo】 v50 がリリース
- 【Storybook】 v7.6 がリリース
- React Native 関連情報
- Expo CLI での Webpack サポート終了
ライブラリ情報
【Expo】 v50 がリリース
ついに v50 がリリースです!
主なアップデートは以下のとおりです。
- Expo Dev Tools
- Camera などの 一部 API の刷新
- Expo Router v3 のリリース
Expo Dev Tools
アプリ開発者向けに Dev Tool プラグインが公開されました。
記事中では Apollo Client、TanStack Query、TinyBase、React Native Async Storage、React Navigation のプラグインに言及されています。
例えば React Navigation は以下のように利用するようで、デモ画像から想像するに Navigation 中に利用する変数の確認などが容易になるみたいです。
import {
NavigationContainer,
useNavigationContainerRef,
} from '@react-navigation/native';
import { useReactNavigationDevTools } from '@dev-plugins/react-navigation';
export default function App() {
const navigationRef = useNavigationContainerRef();
useReactNavigationDevTools(navigationRef);
return (
<NavigationContainer ref={navigationRef}>{/* ... */}</NavigationContainer>
);
}
bare での利用方法には言及されていないので、利用できることを期待したいと思います。
Camera などの 一部 API の刷新
Camera や expo-sqlite など、一部の API が内部的に新しいものへ移行するための準備が進められています。
例えば、Camera は新たなドキュメントも公開されていますが、import 方法の変更以外は目立った変更はないようです。
- import { Camera } from 'expo-camera';
+ import { CameraView } from 'expo-camera/next';
とはいえ、
> For more advanced use cases (such as frame processors), react-native-vision-camera is a fantastic option.
と言及されている通り、より広がったカメラの活用が可能になるのかもしれません。
Expo Router v3 のリリース
Expo v50 のリリースの中に丸められるのは勿体無いぐらいのアップデートです。
目玉は、API Routes
という機能のベータ版が公開されたことです。
これは、Next.js App Router で言うところの route.ts に相当する機能で、サーバサイドでのデータフェッチを担うコンポーネントを[ファイル名]+api.ts
と記載すると作れるようです。
Next.js と同じような、Web / Mobile とバックエンドの結合に関する進化は今後も目が離せないですね。
【Storybook】 v7.6 がリリース
React Native Storybook がついに本家 Storybook のバージョンに追いつきました!
変更として Storage に async storage/mmkv などが選べるようになったそうです。
(むしろ今まで mmkv 使えなかったんですか?ご存知の方教えてください)
もちろん、マイグレーションガイドが出されています。
「ウッ」ってなってしまいそうなぐらいの変更量ですが、時間がある時にボチボチ進めていきたいですね。
React Native 関連情報
Expo CLI での Webpack サポート終了
こちらの記事の紹介です。
Webpack は言わずと知れたバンドルツールですが、事実上開発が終了しているらしくその波が Expo に及んでいるようです。
記事中で Expo Router の作者である Evan Bacon 氏は、
The choice to use Metro for all platforms was driven by our mission to create a fully universal React framework — Expo Router.
と、Expo Router の進化のためと述べています。
これは、Expo および Expo Router がますます Web とのシームレスなアプリケーション体験提供を目指していくということで、とても楽しみですね。
最後に
ここまで読んでいただきありがとうございました。
もし犬専用の音楽アプリに興味を持っていただけたら、ぜひダウンロードしてみてください!
Discussion