expo SDK53リリース内容まとめ
はじめに
先日5月1日にexpoのSDK53がリリースされました。
久々にexpo goを開くとエラーが出ていたので、気になってリリース内容を見てみました。
Xで調べてみると、不安定で動かないライブラリが出ていたりバグがあったりとポストが散見されます。
ただ自分はアップグレートしても問題はなかったです。
リリース内容
New Architectureがデフォルトで有効化
react native0.76でデフォルトで有効になっていたアーキテクチャがexpoでも正式に有効にされました。
Old Architectureとの違いとしてはBridgeからJSIに置き換えていて、パフォーマンスや安全性が向上しているみたいです。
新しいAndroidプロジェクトにデフォルトでエッジツーエッジを展開
タイトルのそのままの意味ですが、6月リリース予定のAndroid16でエッジツーエッジの無効化ができなくなるので、デフォルトで有効になるそうです。
ちなみにiosはすでにデフォルトで有効です。
バックグラウンドタスクの改善
現在非推奨となっているexpo-background-fetchを廃止して、expo-background-taskを導入することで、電力消費の最適化や遅延可能なタスクをバッググラウンドで実行することをサポートできるようになりました。
バックグラウンドタスクは、Androidの WorkManager と iOSの BGTaskSchedulerを使用しているそうです。
Metroバンドラーではpackage.json:exportsフィールドがデフォルトで有効になりました
react native0.79で有効だったフィールドがexpoでもデフォルトで有効になりました。
現状だとCommonJSとES Moduleの両方でモジュールを読み込めるのですが、これを有効にすることでpachage.jsonに書かれているファイルだけ読むので切り分けしやすくなります。
その他
他には細かい項目がいくつかありますが、量が多いので気になったところを挙げます。
- expo-audioの安定版がリリース
デバイスのオーディオ機能にアクセスできます。 - expo-mapのアルファリリース
google mapのようなマップ機能を実装できます。
- 新しいExpo UIパッケージのプロトタイプが強化
これはまだプロトタイプの段階みたいですが、AndroidのJetpack ComposeとiOSのSwiftUIのネイティブUIパーツを使いやすくするための新しいライブラリで、将来的にネイティブに近いUIを簡単に使えるようにするみたいです。
https://docs.expo.dev/versions/v53.0.0/sdk/ui/
画像を見ても確かに設定アプリのようなuiですね。

NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion