週刊React Native #28
Expo Go iOS SDK 55 が審査入り
Expo Go の iOS 版 SDK 55 が App Store review に入ったと案内されました。
現在の TestFlight ビルドは4月22日で期限切れになるため、間に合わない場合は eas go で自前ビルドするか、シミュレータで Expo Go を使う案内も出ています。
SDK 54 の Expo Go は影響を受けません。
https://twitter.com/expo/status/2046330705408602314
RNSEC v1.3.0でルールが30件以上増加
React Native用のセキュリティスキャナーであるRNSECのv1.3.0が登場しました。
React Native / Expo 向けのセキュリティルールが30件以上追加されました。
クロスオリジン攻撃や危険な post-install スクリプトまで含めて広くカバーしていて、複数の誤検知も直っているそうです。
https://twitter.com/adnansahinovich/status/2046512506886066191
react-native-release-profiler v2.0が予告
React Nativeのリリースビルド専用の計測ツールであるreact-native-release-profilerのv2.0が予告されました。
Renders、Hermes サンプル、RN systracesを1つのPerfettoトレースにまとめられるようです。
FPS やメモリも見られて、AIエージェント向けの設計だそうです。
人間向けには --visualise-for-human も用意されています。
https://twitter.com/Turbo_Szymon/status/2046620434355847233
JSIに配列とバッファ系のAPIが追加
react-nativeリポジトリに新しい JSI メソッドを追加するPRが作成されました。
TypedArray、Uint8Array、Array.push、ArrayBuffer::tryGetMutableBuffer などが使えるようになるようです。
https://twitter.com/tomekzaw_/status/2044690191072309360
React Navigation 8で画面を保持する retain を検討
React Navigation 8 では navigation.retain(true) によって、戻った後も画面をアンマウントせず保持する仕組みが検討されています。
次にその画面へ入ったときは、既存インスタンスのままアニメーションして表示する想定だそうです。
https://twitter.com/satya164/status/2044754452196856089
ExpoのSeries Bとエコシステム強化
Expo が Series B を調達し、ビルド高速化やネイティブ統合の改善、エンドツーエンドの開発体験の向上をさらに進める方針を示しました。
また、MetaでReactチームを率いていたSeth Webster氏が、ExpoのChief Developer Evangelistとして参画することも発表されています。
https://twitter.com/expo/status/2044787761589432821
https://twitter.com/sethwebster/status/2044948817099792860
swmansionがreact-native-nano-iconsを公開
Software Mansion から、React Native / Expo 向けの高速アイコン描画ライブラリ react-native-nano-icons が公開されました。
SVGファイルをビルド時にアイコンフォント(.ttf)へ変換し、ランタイムではアイコンを絵文字のように1文字として扱い、OSの文字描画処理に任せて描画します。
react-native-svg のように React コンポーネントツリーを経由しないため、リストやタブバーなどアイコンが大量に並ぶ画面でも軽量に描画できます。
https://twitter.com/swmansion/status/2044424538780262430
STTextViewをRNに組み込む試み
STTextView を React Native に組み込み、WebView を使わずにコードエディタ風の UI を実現する事例が共有されました。
TextKit 2 ベースのネイティブテキストビューを使っているのが特徴です。
https://twitter.com/birch_js/status/2044238849493348545
react-native-fast-tflite 3.0.0がNitro Moduleへ移行
React NativeでTensorFlow Liteの推論を高速に実行するライブラリ react-native-fast-tflite の3.0.0が公開されました。
Nitro Moduleへ全面書き換えされたことで、bridgeless対応とパフォーマンス向上が得られています。
また、NitroのArrayBuffer型への切り替えにより、稀に発生していたSIGSEVクラッシュも修正されています。
https://twitter.com/margelo_com/status/2044067859509174426
Agent React DevToolsがRN対応
Agent React DevTools が発表され、AI エージェントが React アプリのコンポーネントツリーや状態、レンダリング性能まで調べられるようになりました。
React Native と React の両方で動作し、デバッグ用の構造化出力も提供します。
https://twitter.com/callstackio/status/2044053062298251265
React Native と AI のベンチマーク結果
Claude Opus 4.7 を React Native アプリで試したベンチマークでは、4.6 より性能が悪く、コストも30%増だったそうです。
現在CursorのComposer 2が最も性能が良いとのことです。 https://twitter.com/thymikee/status/2045138362198106570
今週のひとこと
react-native-nano-iconsは良さそうですね! 意外とreact-native-svgでアイコンを使うのも面倒だったりするので、簡単に、かつパフォーマンスよく使えるので試してみたいと思います。
また、Expo GoのiOS 版 SDK 55が審査に入ったようです。 これまでストアで公開されていなかったため、Testflightでインストールしないといけなかったのが解消されるのでしょうか。