◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-04-08上級

Rork × Turborepo モノレポ設計: 複数アプリの共有コードと型安全ライブラリを一元管理する実践的個人開発戦略

Turborepo を使って複数の Rork/Expo アプリを 1 つのモノレポで管理する方法を徹底解説。共有コンポーネント・共通型定義・カスタムフック・ユーティリティ関数を一元化し、開発速度とコード品質を劇的に向上させる設計パターンを紹介します。

TurborepoモノレポExpo219React Native239TypeScript8共有コンポーネント個人開発218

✦ プレミアム記事

取り組みの背景:なぜモノレポが個人開発を変えるのか

複数の Rork アプリを運営していると、同じようなコードを何度も書いていることに気づきます。認証ロジック、APIクライアント、共通のUIコンポーネント、Stripeの決済フロー——これらを各アプリで個別に管理していると、バグ修正一つとっても全アプリへの反映が必要になり、気づかないうちに実装が微妙にずれていきます。

Turborepo を使ったモノレポ設計は、この問題を根本から解決します。複数のアプリとパッケージを 1 つのリポジトリで管理し、共通コードを一元化することで、変更一箇所で全アプリに即座に反映される環境を実現できます。

個人開発者にとってモノレポは「大企業の仕組み」というイメージがあるかもしれませんが、実際には小規模のマルチアプリ運営でこそ真価を発揮します。ここで扱うのはRork で生成した Expo アプリを Turborepo で管理する具体的な方法を、実装コードとともに詳しく解説します。

前提知識と準備

想定する読者と環境

  • Rork / Rork Max で 2 つ以上のアプリを開発・運営している
  • TypeScript の基礎知識がある
  • npm workspace または yarn workspace に触れたことがある
  • Node.js 20.x 以上、npm 10.x 以上がインストール済み

モノレポで解決できる課題

課題 1: コードの重複 認証フォーム、カスタムフック、APIクライアントなど、複数アプリで全く同じコードが存在する

課題 2: 型の不整合 アプリ A のユーザー型定義とアプリ B のユーザー型定義がいつの間にか乖離する

課題 3: 更新の漏れ ライブラリのアップデートをアプリ A には適用したがアプリ B には忘れていた

課題 4: ビルドの非効率 変更のないパッケージも毎回フルビルドしてしまう

Turborepo はこれら全ての課題に対応できます。

✦

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

この記事の続きを読む

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

この記事で得られること
✦Turborepo + Expo モノレポの初期セットアップから CI/CD 連携まで、実装コード付きで完全習得できる
✦共有 UI コンポーネントライブラリ・型定義・カスタムフックを複数アプリ間で安全に再利用する設計パターンを理解できる
✦Turborepo のリモートキャッシュとパイプライン最適化で、ビルド時間を最大 80% 削減する実践的テクニックを習得できる
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

⬡ 開発ツール2026-09-01
expo-paste-input で画像を貼り付けられる入力欄を作り、消える file:// を documents へ逃がす
チャット入力に画像やGIFを貼り付けられるようにする expo-paste-input の実装手順です。onPaste が返す file:// は一時ファイルで、送信までの間に消えることがあります。保存先を移す実装と、実機で確かめる順番をまとめました。
⬡ 開発ツール2026-08-17
Expo UI の drop-in 置き換えで、依存が本当に1本減る条件
Expo UI が SDK 56 で安定版になり、コミュニティ製パッケージ8件に drop-in の置き換えが用意されました。import を1行入れ替えても依存が減らない場合があります。減る条件を依存グラフから機械的に判定する手順をまとめました。
⬡ 開発ツール2026-09-10
画面を暗くする機能を足したら、アプリを閉じたあとも iPhone が暗いままでした
expo-brightness の setBrightnessAsync は、Android では現在のアクティビティにだけ効き、iOS では端末の明るさそのものを変えます。戻す責任が片側にしかない理由と、AppState で後始末をするフックの実装をまとめました。