RORK LABEN
BILLING — 残高は Build クレジットと Cloud クレジットの二本立てです。Cloud 側は完成したアプリが実行時に使う分で、プロジェクトのトグルが off のままだと AI 機能は従来の挙動に留まります11/01 — Google Play の target API 36 要件、延長申請の終点まで残り47日です。非準拠のまま越えると、新しい端末で見つけてもらえなくなりますSDK56 — Android 版 Expo Go 56.0.1 が、素のテンプレートを含むすべての SDK 56 プロジェクトを互換性なしとして拒む報告が出ています。QR も EAS Update も開けませんNEW — Rork の新規作成から Expo が消えました。手元のプロジェクトを残すか作り直すかを書きましたDEVTOOLS — SDK 56 の Expo Go で DevTools の Console が式を評価せず、Sources も空のままになる報告があります。開発ビルドに切り替えると戻る例が挙がっていますCOMPANION — Companion は現在、Swift のアプリを USB で iPhone に入れるためのデスクトップアプリという位置づけです。以前の説明を前提にした手順書は見直しどきかもしれませんBILLING — 残高は Build クレジットと Cloud クレジットの二本立てです。Cloud 側は完成したアプリが実行時に使う分で、プロジェクトのトグルが off のままだと AI 機能は従来の挙動に留まります11/01 — Google Play の target API 36 要件、延長申請の終点まで残り47日です。非準拠のまま越えると、新しい端末で見つけてもらえなくなりますSDK56 — Android 版 Expo Go 56.0.1 が、素のテンプレートを含むすべての SDK 56 プロジェクトを互換性なしとして拒む報告が出ています。QR も EAS Update も開けませんNEW — Rork の新規作成から Expo が消えました。手元のプロジェクトを残すか作り直すかを書きましたDEVTOOLS — SDK 56 の Expo Go で DevTools の Console が式を評価せず、Sources も空のままになる報告があります。開発ビルドに切り替えると戻る例が挙がっていますCOMPANION — Companion は現在、Swift のアプリを USB で iPhone に入れるためのデスクトップアプリという位置づけです。以前の説明を前提にした手順書は見直しどきかもしれません
記事一覧/AIモデル
AIモデル/2026-09-15上級

Rork が二つのネイティブアプリに分かれたあと、AI の判断を残す側と寄せる側の線引き

Rork の新規アプリは iPhone が Swift、Android が Kotlin の別コードベースになりました。AI に関わる判断をクライアントに残すか共有バックエンドへ寄せるかを、ずれの起き方と取り消しやすさから決める線引きと、両クライアントが同じ契約で受け取る実装を書き残します。

Rork564Swift48Kotlin4アーキテクチャ22AI機能2設計判断3

プレミアム記事

手元の iPhone アプリに Android を足してみた夜のことです。プレビューの上にある + を押して Android (Kotlin) を選ぶと、エージェントが画面と導線を順に組み直していきました。

出来上がったものを開いて、私が最初に探したのは見た目ではありませんでした。無料で見せる枚数を決めている条件文がどこにあるか、それだけを探しておりました。

見つかった場所は、Kotlin 側の画面のすぐ近くでした。iPhone 側にも、同じ意味の条件文が Swift で書かれておりました。二つとも正しく動きます。ただ、同じ意味のものが二箇所にあるという事実だけが残りました。

ここからお伝えするのは、機能の作り方ではありません。AI に関わる判断を、二つのクライアントのどちらに残し、どこから先を共有バックエンドへ寄せるかという線の引き方です。片側しか持っていない方にも、いま引いておけば後で楽になる線がありますので、そこまで書き残します。

分かれたのは画面ではなく、条件文です

前提を先に置きます。Rork のドキュメントでは、新規アプリが iPhone は Swift、Android は Kotlin、Web は React になったこと、そして既存の Expo プロジェクトはこれまで通り動くことが明記されております(What happened to Expo?)。

同じページに、私がいちばん重く受け取った一文があります。二つのアプリは別々のコードベースであり、Swift の変更は Kotlin の変更と同じファイルではない、そして両者はずれ得る——という趣旨の記述です。一つのプロジェクトの中で共有されるのは、バックエンドとチャットと公開先であって、コードそのものではありません(iPhone, Android, or web: what's the difference)。

React Native の一枚のコードベースから来た方にとって、ここは意識の切り替えが要るところです。画面が二つになったことは、プレビューを見れば分かります。分かりにくいのは、画面と一緒に条件文まで二つになったという点のほうです。

AI 機能を持つアプリでは、この条件文が集中します。どの入力を通してどの入力を止めるか。今日あと何回呼べるか。どのモデルを使うか。応答をどこまで保存するか。いずれも画面ではなく判断であり、判断が二重になると、片側だけを直した日から答えが割れ始めます。

移行そのものを続けるか作り直すかという手前の判断については、Rork の新規作成から Expo が消えました に整理しております。本稿はその先、二つになったあとの話です。

私が自分のアプリで先に踏んだずれ

私は個人開発で壁紙アプリを長く運用しております。iOS 側と Android 側はもともと別のネイティブ実装で、配信する画像と付随する情報だけが共通のサーバから降りてくる構成です。つまり、いま Rork が新規プロジェクトで採る形を、私は先に何年も踏んでおりました。

そこで実際に割れたのは、派手な機能ではありませんでした。「この画像をこの地域で出してよいか」という一行です。

最初のうち、私はこの判定をクライアントに書いておりました。理由は単純で、そのほうが速く、サーバの往復が減るからです。結果は芳しくありませんでした。片方の実装で除外条件を一つ足した日、もう片方には足し忘れました。クラッシュもエラーもありません。ただ、同じ画像が片方の端末だけに出続けました。

気づいたのは、問い合わせをいただいたときでした。ログを見ても異常は残っておりません。両方とも「自分の持っている条件では正しい」と答えていたからです。

この一件から引いた線は、いまも変えておりません。

壊れたときに叫ばない判断は、クライアントに置きません。 例外を作るなら、ずれても実害が出ない範囲に限ります。

AI 機能は、この性質をさらに濃く持ちます。応答は毎回違ってよいものですので、「違う」ことが異常の合図になりません。二つのクライアントが別々の方針で別々の答えを返しても、どちらももっともらしく見えます。

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

この記事の続きを読む

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

この記事で得られること
二つのコードベースに分かれたあと、AI に関わる判断のどれをクライアントに残し、どれを共有バックエンドへ寄せるかを、自分のアプリの条件で仕分けできるようになる
Swift 側と Kotlin 側で答えが食い違い始める前に、どこが無言でずれるのかを先に塞げるようになる
一箇所で決めた判断を Swift と Kotlin の両方から同じ契約で受け取る最小の実装を、そのまま自分のプロジェクトへ移せるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

AI モデル2026-06-15
Rork Max の RoomPlan で部屋を測るアプリを作る — スキャン精度のばらつきを設計で吸収する
Rork Max が Swift ネイティブを生成できるようになり、LiDAR を使った RoomPlan の部屋スキャンが現実的な選択肢になりました。スキャン結果は端末や持ち方で揺れます。その揺れをアプリ側の設計でどう吸収し、安定した寸法データとして書き出すかを実装視点でまとめます。
AI モデル2026-04-26
Rork で Apple FoundationModels を使う — iOS 26 のオンデバイス LLM をプロダクトに組み込む実装ガイド
iOS 26 の FoundationModels フレームワークを Rork から呼び出し、オフラインでも動く AI 機能を組み込む実装ガイド。テキスト生成・ストリーミング・構造化出力・ツールコールまで、Swift のコード付きで体系的に解説します。
開発ツール2026-06-15
Rork Max の Swift 生成と Expo 版の責務分界 — どこまでをノーコードに任せ、どこから手で書くか
Rork Max が Swift ネイティブ生成に対応し、通常の Rork は引き続き Expo(React Native)を生成します。2つの生成エンジンを1つのアプリ事業の中でどう使い分けるか、責務の線引きを実アプリの運用視点で設計します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます