2026-05-25 · #30
週刊React Native #30 Expo SDK 56リリース、Androidコールドスタート40%改善、LegendList 3.0ほか
Expo SDK 56リリース:iOSビルド16%高速化、Androidコールドスタート40%改善#
Expo SDK 56が正式リリースされ、iOSビルドが16%高速化(EAS上ではコミュニティライブラリのプリコンパイルによりさらに20%向上)、Androidコールドスタートが40%改善されました。
SwiftUIとJetpack ComposeのサポートがStableとなり、SwiftやKotlinでインラインネイティブモジュールを記述できるようになっています。
Expo SDK 56 is out 🙌 ◆ Expo UI is stable on iOS and Android ◆ iOS builds 16% faster, plus another 20% on EAS from precompiled community libs ◆ Android cold starts 40% faster ◆ Expo Router decoupled from React Navigation ◆ Inline native modules: write Swift and Kotlin
Expo ModulesがSDK 56でさらに高速化#
Expo ModulesがSDK 56でさらにパフォーマンスが向上したと発表されました。
Turbo Modulesとのベンチマーク比較も公開されており、Expo ModulesとTurbo Modulesをどう使い分けるか、あるいは併用するかについてのドキュメントも案内されています。
😅 Expo Modules got faster again this SDK. You can see how performance compares to Turbo Modules in the benchmarks below. Then check out our docs to learn more about when/why to choose Expo Modules and/or Turbo Modules. docs.expo.dev/modules/overview…
AndroidのCodegenが最大2.8倍高速化オプション#
Expo SDK 56に追加されたandroid.usePrecompiledHeaders: trueを有効にすると、AndroidのCodegenコンパイルが最大2.8倍高速化されます。
React Native本体へのアップストリームも検討されているようです。
Shipped a last-minute Expo SDK 56 feature: up to 2.8x faster codegen compilation on Android. Enable it with `android.usePrecompiledHeaders: true` in expo-build-properties. Next, I'll try upstreaming this to React Native so everyone benefits from faster builds.
Expo SDK 56でオンデマンドファイルシステムが利用可能に#
Expo SDK 56で、オンデマンドファイルシステムが利用できるようになりました。
Bunやpnpmのようなグローバル仮想ストアの仕組みがExpoでも使えるようになり、node_modulesの重複がなくなることで、インストールの高速化やディスク使用量の削減が期待できます。
Git Worktreeで並列に複数の開発を進めていると、SSDの空き容量がどんどん減っていきがちなので、これは嬉しいアップデートですね。
Expo SDK 56でオンデマンドファイルシステムが利用できるようになったらしい。 これによって、Bunやpnpmのようなグローバル仮想ストアがExpoで利用できるようになって、node_modulesの重複などがなくなってインストールの高速化やディスク使用量を減らせる。 Git
useNativeStateとuseStateのiOS/Android比較デモ#
useNativeStateフックとuseStateを比較したデモが公開され、Androidではパフォーマンスに大きな差はないものの、iOSでは大きな差が出ることが示されました。
ソースコードも合わせて公開されています。
Since everyone is asking about Android, here's a demo using plain useState versus the useNativeState hook. TBH I don't really see a difference on Android, but on iOS useNativeState makes a huge difference. source code below 👇 twitter.com/betomoedano/status…
CallstackがturboModuleSubstitutionsでサンドボックスの安全性を強化#
React NativeのJSサンドボックスは独自のJSランタイムを持っていても、共有されるネイティブリソース経由でリークしてしまう問題がありました。
Callstackは、サンドボックス用に安全なTurboModuleへ差し替えられるturboModuleSubstitutionsの仕組みを公開しました。サンドボックス側のJSコードを変更することなく、ファイルアクセスやストレージなどを安全な実装に置き換えられます。
A React Native sandbox can have its own JS runtime and still leak through shared native resources. We wrote about how turboModuleSubstitutions fixes that by swapping in sandbox-safe TurboModules for files, storage, and more, without changing sandbox JS. Check it out👇 Link below
React Navigation 8のretain APIでバックグラウンド画面を維持#
React Navigation 8に追加されたretain APIにより、スタック画面を戻った後もバックグラウンドでレンダリング・アクティブな状態を維持できます。
動画をピクチャーインピクチャーに移動して再生を継続するといった実装が可能になります。
The new retain API in React Navigation 8 keeps stack screens rendered and active in the background even after going back. So you can do things like move a video to picture-in-picture so it keeps playing.
agent-device v0.15、iOSでMaestroの1.5倍高速に#
agent-device v0.15がリリースされ、iOSでの動作速度がベースラインと比較して3.4倍、Maestroと比較して1.5倍高速になりました。
Maestroとの互換レイヤーも追加されています。
agent-device v0.15 is out. faster than ever on iOS ⚡
working on a faster boot, interactions, and test replay for agent-device. so far: → 3.4x faster than baseline → 1.5x faster than Maestro (yes, we're adding compatibility layer) shipping this in v0.15 once tested better
MargeloがReact Native向けAgent Skillsを公開#
Margeloが、React Native開発向けのAgent Skillsを正式公開しました。
Nitro Modulesの効率的な書き方、GPUアクセラレートされたVisionCameraのコード、react-native-mmkvの正しい使い方など、AIエージェントが本番品質のコードを書くためのガイドが含まれています。
We're finally publishing our #reactnative agent skills 🥳 Whether it's efficient Nitro Modules syntax, properly GPU-accelerated VisionCamera code or react-native-mmkv usage - the agent skills make sure you're not shipping AI slop to production - try them today:
OpenMLS + Rust + Nitro ModulesでMLSグループチャット暗号化が約0.87ms#
React NativeでOpenMLS、Rust、Nitro Modulesを組み合わせることで、MLSグループチャットの暗号化速度が約0.87msを達成しました。
Zero-copy JSIによりネイティブ暗号化パフォーマンスを実現しています。
People asked if MLS group chats would still be fast in React Native? ~0.87ms encryption. OpenMLS + Rust + Nitro Modules. Zero-copy JSI. Native crypto performance. Full dive next Tuesday 18:00 (CET) blog.margelo.com twitter.com/adnansahinovich/st…
react-native-executorch v0.9.0が近日リリース#
Software Mansionが、React Native上でオンデバイスAI推論を実行できるライブラリreact-native-executorchのv0.9.0を近日リリースすると予告しました。
リリースを重ねるごとにオンデバイスAIの性能が継続的に向上しているとのことで、次のバージョンに期待が寄せられています。
On-device AI keeps getting better! 💪🏻 React Native ExecuTorch v0.9.0 coming very soon. twitter.com/igor_swat66626/sta…
ChromaticがReact Nativeのビジュアルテストをベータサポート#
ChromaticがReact Nativeアプリのビジュアルテストのベータサポートを発表しました。
変更をプッシュすると、Chromaticが実機レンダリング後のネイティブUIを自動でキャプチャし、見た目の差分をPR上で直接確認できます。
📱Announcing beta Chromatic support for visually testing React Native apps! If you already use Chromatic, this workflow should feel familiar: Push a change → Chromatic captures rendered native UI → visual regressions show directly in your PR. 🔍✨ (1/3)
hermes-nodeがオープンソース公開#
React NativeのJSエンジンであるHermesをNode.js環境で動かすhermes-nodeがオープンソースとして公開されました。
作者によると「驚くほど使える」状態とのことですが、安定版とは見なされていないようです。
I am making hermes-node public. It is surprisingly usable. Not considered stable or anything. Link in next Tweet.
ハプティクスフィードバックがカート追加を最大18%増加#
Software Mansionの記事によると、チェックアウトフローにハプティクスフィードバックを追加することで、カートへの商品追加が最大18%増加する可能性があるとのことです。
Adding haptics to a checkout flow can increase items added to cart by up to 18%. And it's only one of many ways it impacts your business. 👀 @piaskowyk wrote about what haptic feedback means for your app 👉 swmansion.com/blog/how-haptic-…
Uniwind Proでネイティブコンポーネントへのグローバルなスタイル適用が可能に#
Uniwind Proの新リリースで、Webと同様にネイティブコンポーネントをグローバルにターゲットできるようになりました。
ViewやTextといったセレクタを書くことで、フォントサイズ・フォントファミリー・パディング・スペーシング・レイアウトなど、デザインシステムのデフォルトをアプリ全体に適用できます。
This is one of the best Uniwind Pro releases yet. 👉🏼 You can now target native components globally, just like on the web 👉🏼 Write selectors like View and Text, then apply your design system defaults across the app 👉🏼 font size, font family, padding, spacing, layout, whatever
react-native-enriched v0.7.0でリッチテキスト入力が可能に#
Software Mansionがreact-native-enriched v0.7.0をリリースし、EnrichedTextInputコンポーネントにより太字・斜体・リスト・リンク・見出し・チェックボックスなどのリッチテキストをネイティブで入力できるようになりました。
Software Mansion just shipped 𝗿𝗲𝗮𝗰𝘁-𝗻𝗮𝘁𝗶𝘃𝗲-𝗲𝗻𝗿𝗶𝗰𝗵𝗲𝗱 𝘃𝟬.𝟳.𝟬, and it closes a loop the library has been working toward for a while. 𝗘𝗻𝗿𝗶𝗰𝗵𝗲𝗱𝗧𝗲𝘅𝘁𝗜𝗻𝗽𝘂𝘁 lets users write rich text natively (bold, italics, lists, links, headings, checkboxes,
LegendList 3.0リリース準備完了#
LegendList 3.0のリリース準備が整ったと発表されました。
ReactとReact Native両方の本番環境で動作確認済みで、未解決のIssueの整理や古いPRのクローズも完了しているようです。
LegendList is looking ready for a 3.0 release 🎉 It's working well in production in both React and React Native. I caught up on most open issues, closed stale PRs, and merged a few great contributions ❤️. Does anyone know of anything that should be fixed before I ship 3.0?
今週のひとこと#
個人的に今週の嬉しいニュースは、Expo SDK 56でBunやpnpmでのグローバル仮想ストアに対応したことですね。
最近はGit WorktreeでReact Nativeでも複数のブランチを並行して開発することが多く、node_modules以下が数GB単位でどんどんディスクが使われていて困っていたので、これによって解消しそうです。
それ以外にもExpo SDK 56で様々な改善がされていますが、かなり安定している印象なので、今週からいくつかのプロジェクトでアップグレードしてみようと思います。






