RORK LABEN
SWIFTUI — Rork の新規プロジェクトは Expo ではなくなりました。iPhone は Swift と SwiftUI、Android は Kotlin と Jetpack Compose、Web は React です。既存の Expo プロジェクトはこれまでどおり動きますEXPOGO — iOS 版 Expo Go は、ターミナル側とアプリ側の両方で同じアカウントにログインしていないと QR から起動しなくなりました。Android と development build は対象外です11/01 — Google Play の target API 36 要件、延長申請の終点まで残り48日です。11月2日を越えると、非準拠のアプリは新しい端末で見つけてもらえなくなりますSIGSEGV — expo-doctor が 20/20 で通っているのに、Samsung 端末で Expo Go が無言で落ちる報告があります。診断が全部緑のときは adb のログを見に行くところからですNEW — そのAPIキー、アプリの中に入っていませんか。Rork の環境変数と Supabase Edge Function の使い分けを書きましたCREDITS — AI 側のエラーにはクレジットを使わない、という説明がどこまでを指すのか。同じ修正を三度頼んだ日の消費を記録すると、線が見えてきますSWIFTUI — Rork の新規プロジェクトは Expo ではなくなりました。iPhone は Swift と SwiftUI、Android は Kotlin と Jetpack Compose、Web は React です。既存の Expo プロジェクトはこれまでどおり動きますEXPOGO — iOS 版 Expo Go は、ターミナル側とアプリ側の両方で同じアカウントにログインしていないと QR から起動しなくなりました。Android と development build は対象外です11/01 — Google Play の target API 36 要件、延長申請の終点まで残り48日です。11月2日を越えると、非準拠のアプリは新しい端末で見つけてもらえなくなりますSIGSEGV — expo-doctor が 20/20 で通っているのに、Samsung 端末で Expo Go が無言で落ちる報告があります。診断が全部緑のときは adb のログを見に行くところからですNEW — そのAPIキー、アプリの中に入っていませんか。Rork の環境変数と Supabase Edge Function の使い分けを書きましたCREDITS — AI 側のエラーにはクレジットを使わない、という説明がどこまでを指すのか。同じ修正を三度頼んだ日の消費を記録すると、線が見えてきます
記事一覧/開発ツール
開発ツール/2026-06-13上級

Rork 製 Expo アプリを Kotlin ネイティブへ移せる構造にしておく — Android Studio 移行エージェント発表を受けた設計の見直し

Android Studio の React Native→Kotlin 自動移行エージェント発表を受け、Rork 製 Expo アプリを「移せる構造」に保つ設計を整理。ネイティブ依存の棚卸しスクリプト、コア層の分離パターン、移行準備度チェックリストを実例つきで紹介します。

Rork563Expo207React Native238Kotlin3Android Studio移行戦略

プレミアム記事

Google I/O 2026 で発表された Android Studio の移行エージェントは、React Native や iOS、Web のコードを解析してネイティブ Kotlin の Android アプリへ自動移行するという、かなり踏み込んだ機能です。発表記事を読んで私が最初に考えたのは「いま移すべきか」ではなく、「いま運用している Expo アプリは、そもそも移せる構造になっているだろうか」という点でした。

Rork が生成するのは Expo(React Native)ベースのアプリです。つまり Rork で作ったアプリには、将来「ネイティブ Kotlin へ自動移行する」という選択肢が新しく加わったことになります。ただし、自動移行が現実的に機能するかどうかは、エージェントの賢さだけでなく、移行元のコードがどれだけ「移しやすい形」をしているかに大きく左右されます。私自身、個人開発で Expo ベースの検証アプリとネイティブ Android アプリの両方を並行運用している立場から、この発表を機にコード構造を見直した内容を整理します。

移行エージェントは何をしてくれるのか

まず発表内容の事実関係を押さえておきます。Google の開発者ブログによると、Android Studio の移行エージェント(プレビュー)は次のような動きをします。

  • 既存の React Native・iOS・Web アプリのコードベースを解析する
  • 画面構成・ビジネスロジック・データフローを把握する
  • それらをネイティブ Kotlin + Jetpack Compose の Android プロジェクトとして再構築する

注意したいのは、これが「変換ツール」ではなく「エージェント」だという点です。一行ずつ機械的にトランスパイルするのではなく、AI がコードの意図を読み取って書き直す方式です。したがって出力の品質は、入力側のコードの意図がどれだけ読み取りやすいかに依存します。意図が UI とロジックの間に散らばったコードは、人間にとってもエージェントにとっても読み解きが難しいのです。

なお、現時点ではプレビュー段階の機能であり、挙動の詳細は今後変わる可能性があります。ここでの主眼は「エージェントの使い方」ではなく、「エージェントが来ても困らないコードの作り方」に置きます。

なぜ「いま移行しない」と判断したのか

結論から書くと、私は運用中の Expo アプリを当面移行しない判断をしました。理由は三つあります。

第一に、OTA 更新を手放すコストが大きいことです。Expo の EAS Update を使うと、JS レイヤーの修正はストア審査を経ずに配信できます。軽微な文言修正やロジックのバグ修正を当日中に届けられる運用は、個人開発において想像以上に効きます。Kotlin ネイティブに移行した瞬間、すべての修正がストア審査待ちになります。

第二に、コードベースが二つに割れることです。移行エージェントが面倒を見てくれるのは Android だけです。iOS 版を維持するなら、React Native 版(iOS 用)と Kotlin 版(Android 用)の二重管理が始まります。片方だけのつもりで移行すると、機能追加のたびに二倍の作業が待っています。

第三に、移行は「いつでもできる側」に回ったことです。エージェントの登場で、移行のコストは今後下がり続けると見ています。急いで移る理由がない限り、待つほど条件は良くなります。

それでも移行が視野に入るのは、Android 固有の深い統合(ウィジェット、特殊なバックグラウンド処理、最新 OS 機能への即応)が収益に直結するアプリです。この判断軸は、Apple 側で Rork Max への移行を考えるときとほとんど同じ構造をしています。Rork で出したアプリを Max へ移すのはいつか — 実績データで決める段階移行の基準で書いた「実績データが移行コストを正当化したときだけ動く」という基準は、Kotlin 移行にもそのまま使えます。

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

この記事の続きを読む

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

この記事で得られること
Rork 製 Expo アプリのネイティブ依存を数分で棚卸しできる Node.js スクリプトを、そのまま自分のプロジェクトで実行できる
Kotlin 移行でも Rork Max 移行でも持ち出せる「コア層」の分離パターンを、動く TypeScript の実例から習得できる
「いま移行すべきか、待つべきか」を雰囲気ではなく自分のアプリの数値で判断できる、移行準備度チェックリストが手に入る
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-09-04
EAS の secret は「アプリに入れない」設定ではありません — 接頭辞と可視性を別々に決める
EXPO_PUBLIC_ の接頭辞は成果物に入るかを決め、EAS の可視性は誰が読めるかを決めます。二つを重ねたときに OTA 更新でだけ値が消える筋道と、出荷前に自分の手で確かめる手順をまとめました。
開発ツール2026-08-22
一括置換は全ファイル成功しました。壊れたのは、消さなかった行のほうです
生成コードに一括置換をかけると、一致した行ではなく隣の行が壊れます。運用中のプロジェクトで実際に起きた破損と、置換の不変条件を検査する20行のガードスクリプトをまとめました。
開発ツール2026-07-30
Renovate が触ってよい依存と、触ってはいけない依存 — Expo SDK 57 の123パッケージを機械的に切り分ける
Rork 生成アプリに依存の自動更新を入れると、Expo が版を管理している123パッケージまで巻き込まれます。2026年7月30日時点の実測では、うち6件が npm の最新版へメジャー更新される差でした。除外リストを手で書かず SDK から機械生成する手順をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます