RORK LABEN
BUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要ですBUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要です
記事一覧/開発ツール
開発ツール/2026-06-29上級

New Architecture へ移行したら本番だけ画面がカクつくとき — interop 層への静かなフォールバックを計測して切り分ける運用メモ

New Architecture へ切り替えた Rork アプリが、開発中は快適なのにリリースビルドの実機でだけ一覧スクロールがカクつく。原因は旧式ネイティブモジュールが interop 層へ静かにフォールバックしていたことでした。検知の計測と段階的な切り戻しの実務メモです。

Rork539React Native227New Architecture3TurboModules2Fabric2パフォーマンス33interopリリースビルド

プレミアム記事

開発機では出ない不具合に半日溶かした話

ある壁紙アプリを Expo SDK 52 系へ上げ、New Architecture を有効にしたまま数週間、特に問題なく運用していました。ところが、ある日 TestFlight に配ったビルドで「一覧をスクロールすると一瞬引っかかる」という報告が届きます。手元の開発ビルドでは何度試しても再現しません。Expo Go でも、expo run:ios のデバッグビルドでも、滑らかに動くのです。

最終的に原因は、特定のサードパーティ製ネイティブモジュールが New Architecture の TurboModule として動かず、interop 層(後方互換のためのブリッジ)を経由して静かに動いていたことでした。interop 層は「動かなくする」のではなく「遅いまま動かす」ので、機能テストはすべて通ります。だからこそ release ビルドの実機で、しかも特定画面でだけ顔を出すのです。

このメモは、同じ「dev では出ないが release でだけ出る」種類の回帰に当たったときに、当て推量ではなく計測で切り分け、全体を旧アーキへ巻き戻さずに直すための実務記録です。私自身、2014年から個人開発を続けていますが、こうした「環境差で出たり消えたりする」不具合ほど、まず観測点を置くことが近道だと感じています。

なぜ dev と release で挙動が割れるのか

New Architecture では、JavaScript とネイティブの間が JSI(直接参照)に置き換わり、ネイティブモジュールは TurboModule として遅延初期化されます。しかし旧式の NativeModules / NativeEventEmitter に依存したライブラリは、いきなり動かなくなるわけではありません。React Native は interop 層を用意していて、旧 API を新ランタイム上で取り持ってくれます。

問題は、この取り持ちにコストがかかる点です。旧経路では呼び出しごとに JSON シリアライズとスレッド跨ぎが発生し、JSI のゼロコピー同期呼び出しの恩恵が消えます。一覧のセルがマウントのたびに旧式モジュール(例えば画像のメタ情報取得やデバイス情報の同期取得)を叩いていると、その差がスクロールのフレーム落ちとして表面化します。

dev ビルドでこれが見えにくいのは、Metro のリロード前提で最適化が浅く、そもそも体感のばらつきが大きいからです。逆に release ビルドは Hermes のバイトコード化や最適化が効くぶん、相対的に「旧経路だけが遅い」という差が際立ちます。つまり release でだけ出るのは偶然ではなく、構造的に起きやすい現象です。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
「dev では出ないが release でだけ出る」回帰を、interop 層フォールバックの計測で切り分ける手順
どのネイティブモジュールが legacy 経路に落ちているかを起動時に列挙する実装
全体を旧アーキへ戻さず、問題モジュールだけを隔離して段階的に直す切り戻し設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-05-24
Rork が出した RN プロジェクトを New Architecture へ段階移行した検証メモ — 壁紙系 6 アプリ並列運用の手順
Rork で叩き台を組んだ React Native プロジェクトに対して Fabric/TurboModules を段階的に有効化し、6 本の壁紙アプリで並行検証した実装ノートです。フラグ設計・互換性切り分け・KPI 比較までを実体験ベースで整理しました。
開発ツール2026-07-24
同じ通信が同時に何本も飛ぶのを1本に束ねる — 参照カウント付きシングルフライト層の設計
起動直後に同じ API へ何本ものリクエストが同時に飛ぶ多重フェッチを、進行中の Promise を共有して1本に束ねる設計です。束ねる範囲を決めるキーの組み立て方、失敗した Promise を配り続けてしまう罠、呼び出し側の中断が全体を巻き込む罠、そして束ね率を数えて回帰を止めるテストまで、参照カウント付きシングルフライト層の実装を実測の通信ログとともに残します。
開発ツール2026-07-10
React Compiler を Expo に入れて、手書き memo を 41 箇所消しました
Rork が生成した React Native 画面に React Compiler を導入し、再レンダリング回数を Profiler で実測しました。手書き memo/useCallback の削除判断、効かない箇所の見分け方、CI での回帰検知までをまとめています。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →