RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-03-20初級

Google Stitch × Rork — Vibe Design でアプリUIを設計し、Rork で即座に実装する方法

無料の Google Stitch で Vibe Design によりアプリの UI を設計し、Rork / Rork Max で即座にネイティブアプリとして実装する方法を解説。デザイン初心者でもプロ品質のアプリが作れる。

Stitch2Rork515Vibe DesignアプリUIデザイン4無料モバイルアプリ12

無料で始めるモバイルアプリ開発 — Stitch × Rork の民主化

2026年、アプリ開発の敷居は劇的に低くなりましました。Google Stitch(無料)の Vibe Design でアプリ UI を直感的に設計し、Rork でネイティブアプリに自動変換する「ノーコード・ローコード」なワークフローが実現したのです。本記事は、デザイン経験のない初心者向けに、実装から公開まで、完全なステップバイステップガイドです。

Google Stitch とは何か

Stitch の概要

Google Stitch は無料の AI ネイティブ無限キャンバスプラットフォームです。Figma のようなデザインツールではなく、より創造的で自由度の高い環境で、テキストやスケッチから AI が自動的に洗練された UI を生成します。

Google Stitch の特徴:
✓ 完全無料(Google アカウントで即開始)
✓ ブラウザベース(インストール不要)
✓ AI による自動デザイン生成
✓ Vibe Design(感覚的な設計)
✓ Voice Canvas(音声指定)
✓ アプリエクスポート対応
✓ チーム協作機能

Stitch の始め方

# Step 1: Google Stitch にアクセス
https://stitch.google.com
 
# Step 2: Google アカウントでログイン
# (Gmail アカウント等で可能)
 
# Step 3: 新規プロジェクト作成
# → "Mobile App UI" テンプレートを選択

Vibe Design — 直感的なアプリ UI 設計

Vibe Design とは

Vibe Design は、言葉や簡単なスケッチを入力すると、AI が自動的に洗練された UI デザインを生成する機能です。デザイナーでなくても、プロ品質の UI が作れます。

実践例 1: タスク管理アプリ

Step 1: Vibe Design でコンセプト入力

Stitch の Vibe Design に以下のテキストを入力:

「シンプルなタスク管理アプリ。
画面上部に「今日のタスク」というタイトル。
その下に新規タスク追加用の入力フィールド(プラスボタン付き)。
メイン領域にタスク一覧。
各タスクは完了/未完了の チェックボックス付き。
カラースキームは、青と白のミニマルなデザイン。
フォントはモダンで見やすいもの。」

Step 2: AI が自動生成

Stitch の AI がこのテキストから以下を自動生成:

  • 高精度な UI レイアウト
  • カラースキーム(青と白のパレット)
  • タイポグラフィ設定
  • コンポーネント構成
  • インタラクション仕様

Step 3: 生成されたデザインの確認

生成結果:
✓ ヘッダー: "今日のタスク" タイトル + 日付表示
✓ 入力フィールド: 新規タスク追加 + プラスボタン
✓ タスクリスト: スクロール可能なリスト表示
✓ タスクアイテム: チェックボックス + テキスト + 削除ボタン
✓ 色: 青を基調にした爽やかなパレット
✓ フォント: San Francisco(iOS互換)
✓ アニメーション: スムーズなトランジション

実践例 2: フィットネストラッキングアプリ

Vibe Design プロンプト:

「フィットネストラッキングアプリを設計してください。
上部に本日の歩数をゲージ表示(10,000歩目標)。
中央に達成度を円グラフで表示。
下部に過去7日間の活動をミニグラフで表示。
配色はオレンジとグレーの組み合わせ。
スポーツウォッチのような洗練された見た目。」

生成結果: 高精度なフィットネスアプリ UI
- ゲージコンポーネント(スムーズアニメーション)
- 円グラフ(達成度表示)
- 7日間の活動グラフ
- オレンジ×グレーのモダンカラースキーム
- Apple Watch 互換のデザイン

Voice Canvas — 音声でのアプリ設計

Voice Canvas の使い方

デザイナーでない人でも、音声で指示するだけで AI が UI を生成します。

# Step 1: Stitch で "Voice Canvas" を選択
 
# Step 2: マイクボタンをクリック
 
# Step 3: 音声で指示を入力
 
音声指示例(日本語対応):
「買い物リストアプリ。
上部に買い物リストのタイトル。
中央に買い物アイテムの一覧。
各アイテムに値段と数量を表示。
右側にチェックボックス。
下部に合計金額。
背景は白で、テキストは黒。」
 
# Step 4: 数秒後に自動デザイン生成

Voice Canvas により、スマートフォンから直感的に UI 設計が可能です。

Stitch から Rork への連携

デザインのエクスポート

# Step 1: Stitch で作成したデザインを選択
 
# Step 2: メニューから "Export for Mobile App" を選択
 
# Step 3: エクスポート形式を選択
# → "Rork Format" を選択
 
# 自動的に以下が生成される:
# ✓ コンポーネント JSON
# ✓ デザイントークン(色、フォント)
# ✓ インタラクション定義
# ✓ API スキーマ(オプション)

エクスポートされるファイル構成

stitch-export-01/
├── design.json           # デザイン構造
├── components/
│   ├── Header.json
│   ├── TaskInput.json
│   ├── TaskList.json
│   └── TaskItem.json
├── tokens/
│   ├── colors.json
│   ├── typography.json
│   └── spacing.json
├── interactions.json     # クリック動作等
└── README.md            # 説明書

Rork へのインポートと実装

Rork の基本操作

Rork はネイティブモバイルアプリ(iOS/Android)を簡単に開発できるプラットフォームです。Stitch から書き出したデザインを直接インポートできます。

# Step 1: Rork にアクセス
https://rork.dev
 
# Step 2: Google アカウントでサインアップ
 
# Step 3: "Import from Stitch" を選択

Stitch デザインのインポート

# Stitch から生成したファイルをアップロード
rork import --source=stitch-export-01/design.json
 
# 自動的に以下が行われる:
# ✓ コンポーネント構造を解析
# ✓ React Native コンポーネント を生成
# ✓ デザイントークンを適用
# ✓ インタラクションロジックを設定

自動生成されたコンポーネント

// src/components/TaskItem.tsx
// Rork が Stitch のデザインから自動生成
 
import React from 'react';
import { View, Text, Pressable, CheckBox } from 'react-native';
import styled from 'styled-components/native';
import { DesignTokens } from '@/tokens';
 
interface TaskItemProps {
  id: string;
  title: string;
  completed: boolean;
  onToggle: (id: string) => void;
  onDelete: (id: string) => void;
}
 
const Container = styled.View`
  flex-direction: row;
  align-items: center;
  padding: ${DesignTokens.spacing.md};
  border-bottom-width: 1px;
  border-bottom-color: ${DesignTokens.colors.divider};
`;
 
const TaskText = styled.Text<{ completed: boolean }>`
  flex: 1;
  font-family: ${DesignTokens.typography.body.font};
  font-size: ${DesignTokens.typography.body.size};
  color: ${props =>
    props.completed
      ? DesignTokens.colors.textDisabled
      : DesignTokens.colors.text};
  text-decoration-line: ${props => (props.completed ? 'line-through' : 'none')};
  margin-left: ${DesignTokens.spacing.md};
`;
 
const DeleteButton = styled.Pressable`
  padding: ${DesignTokens.spacing.sm};
`;
 
export const TaskItem: React.FC<TaskItemProps> = ({
  id,
  title,
  completed,
  onToggle,
  onDelete
}) => {
  return (
    <Container>
      <CheckBox
        value={completed}
        onValueChange={() => onToggle(id)}
      />
      <TaskText completed={completed}>{title}</TaskText>
      <DeleteButton onPress={() => onDelete(id)}>
        <Text>削除</Text>
      </DeleteButton>
    </Container>
  );
};

Rork でのロジック実装

ビジネスロジックの追加

Stitch のデザインは自動的に UI になりますが、実際の動作を実装する必要があります。Rork では簡単にロジックを追加できます。

// src/screens/TaskManagerScreen.tsx
// Stitch のデザイン + Rork でのロジック実装
 
import React, { useState } from 'react';
import { View, Text, FlatList } from 'react-native';
import { TaskInput } from '@/components/TaskInput';
import { TaskList } from '@/components/TaskList';
import { TaskItem } from '@/components/TaskItem';
 
interface Task {
  id: string;
  title: string;
  completed: boolean;
  createdAt: Date;
}
 
export const TaskManagerScreen: React.FC = () => {
  const [tasks, setTasks] = useState<Task[]>([]);
  const [inputValue, setInputValue] = useState('');
 
  // 新規タスク追加
  const addTask = (title: string) => {
    if (title.trim()) {
      const newTask: Task = {
        id: Date.now().toString(),
        title: title.trim(),
        completed: false,
        createdAt: new Date()
      };
      setTasks([...tasks, newTask]);
      setInputValue('');
    }
  };
 
  // タスク完了/未完了切り替え
  const toggleTask = (id: string) => {
    setTasks(
      tasks.map(task =>
        task.id === id ? { ...task, completed: !task.completed } : task
      )
    );
  };
 
  // タスク削除
  const deleteTask = (id: string) => {
    setTasks(tasks.filter(task => task.id !== id));
  };
 
  // 本日のタスク(完了していない)
  const todaysTasks = tasks.filter(task => !task.completed);
  const completedCount = tasks.filter(task => task.completed).length;
 
  return (
    <View style={{ flex: 1, backgroundColor: '#fff' }}>
      {/* ヘッダー */}
      <View style={{ padding: 16 }}>
        <Text style={{ fontSize: 24, fontWeight: 'bold' }}>今日のタスク</Text>
        <Text style={{ fontSize: 14, color: '#999' }}>
          完了: {completedCount}/{tasks.length}
        </Text>
      </View>
 
      {/* 入力フィールド */}
      <TaskInput
        value={inputValue}
        onChange={setInputValue}
        onAddTask={addTask}
      />
 
      {/* タスク一覧 */}
      <FlatList
        data={todaysTasks}
        keyExtractor={item => item.id}
        renderItem={({ item }) => (
          <TaskItem
            id={item.id}
            title={item.title}
            completed={item.completed}
            onToggle={toggleTask}
            onDelete={deleteTask}
          />
        )}
      />
    </View>
  );
};

Rork Max による高度な機能

Rork Max とは

Rork Max は有料プランで、AI による自動最適化、クラウドバックエンド、プッシュ通知など、エンタープライズ機能が利用できます。

# Rork Max で以下が可能:
 
 Firebase/Supabase 自動連携
 プッシュ通知機能
 分析トラッキング
 A/B テスト機能
 ユーザー認証(Apple/Google ログイン)
 クラッシュレポート
 パフォーマンス監視

Rork Max での Supabase 連携

// Rork Max: Supabase バックエンド自動連携
 
import { useRorkSupabase } from 'rork/supabase';
 
const useTaskDatabase = () => {
  const { supabase } = useRorkSupabase();
 
  // Supabase にタスクを保存
  const saveTask = async (task: Task) => {
    const { data, error } = await supabase
      .from('tasks')
      .insert([
        {
          title: task.title,
          completed: task.completed,
          created_at: task.createdAt
        }
      ]);
 
    if (error) throw error;
    return data;
  };
 
  // Supabase からタスクを取得
  const fetchTasks = async () => {
    const { data, error } = await supabase
      .from('tasks')
      .select('*')
      .order('created_at', { ascending: false });
 
    if (error) throw error;
    return data;
  };
 
  return { saveTask, fetchTasks };
};

ステップバイステップ実装ガイド

実践例: タスク管理アプリ完全版

# 全体のワークフロー
 
[1] Google Stitch で UI 設計 (15)

[2] Stitch から Rork に export (1)

[3] Rork でコンポーネント生成 (自動)

[4] React Native ロジック実装 (30)

[5] テスト実行 (10)

[6] iOS/Android ビルド (10)

[7] シミュレーターで動作確認 (5)

[8] App Store/Google Play 申請 (5)
 
総計: 76

実装チェックリスト

Google Stitch:
  ☐ Google アカウント作成
  ☐ Stitch にアクセス
  ☐ Vibe Design で UI 設計
  ☐ Voice Canvas で調整(オプション)
  ☐ "Export for Mobile App" をクリック
  ☐ デザイン JSON をダウンロード

Rork インポート:
  ☐ Rork にアクセス
  ☐ "Import from Stitch" を選択
  ☐ デザイン JSON をアップロード
  ☐ コンポーネント生成を確認
  ☐ プレビューで UI 確認

ロジック実装:
  ☐ State 管理(useState)を設定
  ☐ イベントハンドラー実装
  ☐ ビジネスロジック追加
  ☐ エラーハンドリング実装

テスト・ビルド:
  ☐ npm run test 実行
  ☐ iOS シミュレーター確認
  ☐ Android エミュレーター確認
  ☐ ビルド最適化
  ☐ App Store/Google Play 申請

初心者向けトラブルシューティング

よくある問題と解決策

Q1: Stitch で生成したデザインが気に入らない
A: Voice Canvas や追加のテキストプロンプトで再生成可能
   Stitch メニュー → "Regenerate Design"

Q2: インポート後にエラーが出た
A: Stitch エクスポート形式を確認
   "Rork Format" で再度エクスポート

Q3: コンポーネントが反応しない
A: onPress/onChange イベントハンドラーが未実装の可能性
   TaskInput 等の入力コンポーネントに handlers を追加

Q4: App Store 申請が通らない
A: 一般的な理由:
   - プライバシーポリシーが不足
   - テストアカウント情報が不足
   - スクリーンショットが低品質

無料リソース・コミュニティ

学習リソース:
- Google Stitch 公式チュートリアル
- Rork デベロッパードキュメント
- YouTube: "Stitch × Rork 完全ガイド"

コミュニティ:
- Rork Developer Discord
- Google Stitch ユーザーフォーラム
- GitHub: rork-examples(テンプレート集)

次のステップ

Stitch × Rork でアプリが完成したら:

  1. マネタイズ: App Store/Google Play で有料・無料公開
  2. プロモーション: SNS で宣伝、レビュー募集
  3. 改善: ユーザーフィードバックに基づいて更新
  4. スケーリング: Rork Max で高度な機能を追加

全体を振り返って

Google Stitch と Rork の組み合わせにより、デザイン経験のない初心者でも、数時間でプロ品質のモバイルアプリが作れるようになりましました。Vibe Design による直感的な UI 設計、Voice Canvas による音声指定、Rork の自動コード生成により、アプリ開発の民主化が進んでいます。

あなたのアイデアを、今日からアプリにしてみませんか?

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

開発ツール2026-05-06
Rorkで作るAIアプリにオフラインエッジモデルを組み込む — ネット接続不要のAI機能実装入門
Rorkで開発するアプリにオフラインで動くエッジAIを組み込む方法を解説。ネット環境がない場面でもAI機能を提供できるアプリの作り方、ユースケース、実装のポイントを初心者向けに紹介します。
開発ツール2026-04-28
Rork で作るモバイルアプリの AI バックエンド:Cloudflare Containers と Workers AI の使い分け実践ガイド
Rorkで作ったモバイルアプリのAI機能をCloudflare Containers と Workers AIでどう使い分けるか、実装コストと運用コストの両面から具体的に解説します。
開発ツール2026-03-21
Rork × Figma — デザインカンプからアプリを生成するワークフロー
Figma のデザインカンプを活用して Rork でアプリを効率的に生成する方法をお伝えします。AI フレンドリーなデザインの準備、プロンプトへの反映、Rork Max での Swift ネイティブ変換まで、デザインからアプリ完成までの一連の流れを丁寧に解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →