週間React Native #18
Expo SDK 55 betaが公開
React Native 0.83.1、React 19.2をサポートしたExpo SDK 55 betaがリリースされました。 今回のアップデートではReact Native 0.83になったことでLegacy Architectureが終了しています。 また、Hermes v1をオプトインでサポートしており、有効にすることで起動時間やパフォーマンス、またJSバンドルのビルド時間の改善などが期待できます。
https://twitter.com/expo/status/2014474990901756347?s=20
Expo Router v7
やなどのコンポーネントが追加されました。 また、ナビゲーションバー周りのAPIなど、Liquid Glassスタイルに対応するような変更が追加されました。
https://twitter.com/Baconbrix/status/2014480349066305953?s=20
Expo Widgetの登場
Expo UIを使ってiOSのWidgetやLive Activityをつくることができる、Expo Widgetもalphaとして公開されました。 少し前にcallstackが同じようなvoltraを公開しましたが、そちらとの違いとしてExpo UIを使って構築することができるとのことです。
https://docs.expo.dev/versions/v55.0.0/sdk/widgets/
Expo UIは2026年半ばに安定化予定
これまでSwiftUIがbeta、Jetpack Composeがalphaとなっていましたが、今年半ばに安定化するようです。 また、Jetpack ComposeのExpo UIも間もなくbetaに変わるとのことで、APIも安定化してきているようです。
Expo Router(Web)でのServer Side Rendering(SSR)に対応
Web周りでもSSRに対応するなどの改善が行われました。 これによって動的なページをサーバサイドでレンダリングすることができようになり、SEOなどでSSRが必要といったときにも対応できそうです。
https://docs.expo.dev/router/web/server-rendering/
React Nativeでcalc()をサポートへ
React Nativeでサイズの指定にcalc()のような計算した値を設定することがこれまで出来ませんでした。 今後のReact Nativeのバージョンでcalc()が導入される予定とのことです。
https://twitter.com/_ikswodarap/status/2014677703266288082?s=20
react-native-bootsplash 7.0.0が公開
起動時のスプラッシュ画面をカスタマイズできるreact-native-bootsplash 7.0.0が公開されました。 デフォルトでエッジツーエッジのテーマ機能を備え、Expo プラグインが大幅に改善されています。
https://twitter.com/zoontek/status/2014651527676207294?s=20
React Native Testing Libraryのv14 betaが公開
React Nativeでのテスト用ライブラリである、React Native Testing Libraryのv14が公開されました。 次のような大きな変更があり、codemodによって自動で変更も可能とのことです。
- 非推奨の React Test Renderer の代わりに新しい test-renderer パッケージ
- 非同期 API への移行:render、fireEvent、act など
https://twitter.com/mdj_dev/status/2015807084688740827?s=20
EAS buildが30%高速化
コンパイラーキャッシングにより、EAS buildが30%高速化されました。
こちらはccacheというC/C++のビルド結果をキャッシュするもので、React NativeやHermes、ネイティブライブラリなどで使われるC/C++で書かれたコードの再ビルドする時間が短縮されます。
EAS_USE_CACHE=1という環境変数を追加することで、こちらの機能が有効になります。
https://twitter.com/expo/status/2015912798426169819?s=20
https://expo.dev/changelog/compiler-cache-for-builds
今週のひとこと
Expo SDK 55 betaが公開されましたね。 手元のアプリケーションをexpo/skillsのアップグレードスキルでExpo SDK 55にするように試してみましたが、ほとんど自分の手を動かさなくてもアップグレードができたのに驚きました。 個人的にはExpo(React Native)のアップグレードの対応が結構大変だと感じていたので、またReact Nativeの欠点が補われたかなと思います。