Expo SDK 54 Betaまとめ: iOSビルド爆速化 & Liquid Glass対応など
はじめに
2025年8月19日にExpo SDK 54のβ版がリリースされました🎉
ベータ期間は2週間とのことです。
今回のSDK 54は、
- React Native 0.81
- React 19.1.0
をベースにしており、iOSビルド時間の劇的短縮や、iOS 26の新UI「Liquid Glass」対応など、パフォーマンスとUI/UX両面で大きな進化が入っています。
以下で主要なアップデートをざっくり見ていきます。
主要なリリース内容
iOSビルド時間の爆速化
プリコンパイル済みReact NativeのXCFrameworks
React Native 0.81から、RN本体と依存関係がプリコンパイル済みのXCFrameworksとして配布されるようになりました。
- RNTesterでのクリーンビルド時間が約120秒 → 10秒に短縮(M4 Maxでの計測)
- 大規模プロジェクトでは顕著な短縮が期待できる
- CocoaPodsからSwift Package Managerへの移行に向けた重要なステップ
iOS 26 Liquid Glass対応
新しいIcon Composerサポート
iOS 26で導入されるLiquid Glassアイコンに対応しました。AppleのIcon Composerアプリで作成した.icon
ファイルをapp.jsonで直接指定できます。
{
"ios": {
"icon": "./assets/app.icon"
}
}
Liquid Glass モディファイア & Button
Expo UI(今回からβ版)で Liquid Glassエフェクトがサポートされました。SwiftUIライクに使える感じで、モディファイアやButtonバリアントとして提供されています。
個人的には非常に気になっているライブラリなので試してみたいところです。
実装例 (モディファイア)
import { Host, HStack, Text } from "@expo/ui/swift-ui";
import { glassEffect, padding } from '@expo/ui/build/swift-ui/modifiers';
// In your component
<Host matchContents>
<HStack
alignment='center'
modifiers={[
padding({
all: 16,
}),
glassEffect({
glass: {
variant: 'regular',
},
}),
]}>
<Text>Regular glass effect</Text>
</HStack>
</Host>
実装例 (Button)
import { Button, Host, VStack } from "@expo/ui/swift-ui";
// In your component
<Host matchContents>
<VStack spacing={8}>
<Button
variant="glassProminent"
color="orange"
systemImage="questionmark.circle"
>
Help & support
</Button>
<Button variant="glass" systemImage="person">
View profile
</Button>
</VStack>
</Host>
Expo UIに関しては、過去にα版を記事としてまとめているので参考までに。
Android 16対応とEdge-to-Edgeの強制
Edge-to-Edgeが常に有効
Expo SDK 54ではAndroid 16(API 36)をターゲットとし、Edge-to-Edgeが常に有効になります。これはAndroid 16でEdge-to-Edgeの無効化ができなくなることに対応したものです。
-
react-native-edge-to-edge
はexpo
パッケージの依存関係ではなくなりました - プロジェクトで使用している場合は直接依存関係として追加する必要があります
-
androidNavigationBar.enforceContrast
プロパティで同等の設定が可能
予測的バックジェスチャーがデフォルトで有効
新しいプロジェクトでは予測的バックジェスチャーがデフォルトで有効になります。app.jsonのandroid.predictiveBackGestureEnabled
で制御可能です。
Apple TV & Android TVサポート強化
- Apple TVでの実験的なexpo-dev-clientサポート
- Android TVでの完全サポート
- 様々なSDKパッケージでApple TVサポート追加
- プリコンパイル済みフレームワークによるビルド時間短縮
その他注目ポイント
- expo-file-system/next → 安定版化
- expo-sqlite強化: localStorage API互換 / sqlite-vecでRAG AI用途も
- 新パッケージ
- expo-app-integrity(アプリ配布の検証)
- expo-blob(W3C Blob互換API)
- expo-maps(POIフィルタリングなど新機能)
Expo Updates & EAS Updateの機能強化
ランタイムでのヘッダー上書き
Updateが送信するHTTPヘッダー(チャンネルなど)を、Updates.setUpdateRequestHeadersOverride()でランタイムに上書きできるようになりました。これにより、開発者は従業員をエンドユーザーとは異なるアップデートチャンネルにオプトインさせるなどのパターンを簡単に実装できます。
ダウンロード進行状況の追跡
useUpdates()フックにdownloadProgressプロパティが追加され、アップデート中のアセットダウンロードの進行状況を追跡できます。
カスタムリロード画面
Updates.reloadAsync()がreloadScreenOptionsを受け入れるようになり、アプリの再読み込み中に表示されるUIを開発者が制御できるようになりました。
Legacy Architectureサポート終了のお知らせ
SDK 54はLegacy Architectureをサポートする最終リリースのようです。まだNew Architectureへの対応が済んでいないプロダクトは対応を急いだほうが良さそうです。
- React Native 0.82では新しいアーキテクチャのオプトアウトが不可能に
- SDK 55(React Native 0.83)は新しいアーキテクチャのみをサポート予定
- 現在、SDK 53プロジェクトの75%がEASで新しいアーキテクチャを使用
Expo CLIの改善
インポートスタックトレースがデフォルトでオンになり、AIエージェント(Claude Codeなど)が壊れたインポートを解決することが容易になりました。AIエージェントを意識した改善も入っているのが面白いですね。
デフォルト有効になった機能
- インポートスタックトレース: 不足モジュールのトレースが簡単に
- experimentalImportSupport: React CompilerとTree Shakingのサポート向上
- React Compiler: 新しいプロジェクトでデフォルト有効
- React Nativeオーナースタック: エラーの発見・修正が簡単に
CSS処理の改善
- Rustベースの
lightningcss
でCSSを自動プレフィックス -
browserslist
サポート追加 -
autoprefixer
の代替として機能
Expo Autolinkingの改善
Expo Autolinkingが、Expoモジュールと同じ方法でReact Nativeライブラリを推移的に自動リンクするようになりました。
- 推移的自動リンク: React Nativeモジュールの推移的依存関係も自動リンクされるように
- 依存関係ベースのリンク: expo-module.config.jsonではなく、アプリの直接・ネストした依存関係に従ってリンク
- 統一された動作: ExpoとReact Nativeモジュール全体で一貫した動作
破壊的変更
JSCサポート削除
React Native 0.81からファーストパーティのJSCサポートが削除されました。利用したい場合はreact-native-community/javascriptcore
を導入する必要があります。
Reanimated v4
Reanimatedがv4にアップデートされ、新しいアーキテクチャ専用となりました。Legacy Architectureを利用する場合やNativewind使用時はv3を継続してください。
Metro内部インポート変更
Metro 0.83から内部コードの参照はmetro/private/...
に変更されました。該当ライブラリを使用している場合は更新が必要です。
expo-file-system
デフォルトが新APIに置き換わりました。従来の挙動を維持したい場合はexpo-file-system/legacy
を使用してください。
expo-notifications
非推奨関数のエクスポートが削除されました。利用中のコードは最新APIへ移行してください。
まとめ
Expo SDK 54は、
- iOSビルドが爆速化
- iOS 26 Liquid Glass対応
- Updates/EAS Updateの強化
- Legacy Arch最終サポート
と、開発体験向上にフォーカスしているリリースだと感じました。
個人的には「iOSビルド時間短縮」と「Liquid Glass対応」が特に気になっているのと、Claude CodeのようなAIエージェントを意識した改善があることに昨今のAIトレンドを感じました。
SDK 53はβが終了した1週間後にリリースしていたので、SDK 54の正式リリースはおそらく9月上旬あたりになりそうですね。それまでに一度β版を触ってみようと思います。
Discussion