Kiro + React Native + Expo で iOSアプリを作る

要約
Kiro + React Native + Expoを使用して、AI 機能付きのタスク管理アプリ「Task」を開発する過程を紹介
意見はこのエリアに表示されます

この記事では、Kiro + React Native + Expo + Claude API を使用して、AI 機能付きのタスク管理アプリ「Task」を開発する過程を紹介します。第 1 回では、プロジェクトのセットアップから基本的なナビゲーション構造の構築までを解説します。

作成するアプリの概要

「Task」は以下の機能を持つタスク管理アプリです:

  • ✅ タスクの作成・編集・削除
  • ✅ タスクの完了管理
  • ✅ 期限設定と視覚的な期限表示
  • 🤖 Claude AI によるタスク整理・優先度付け
  • 🤖 自然言語でのタスク入力
  • 💾 ローカルストレージでのデータ永続化
  • 🌙 ダークモード対応
  • 📱 レスポンシブデザイン

技術スタック

  • フロントエンド: React Native + Expo
  • 言語: TypeScript
  • 状態管理: React Context API + useReducer
  • ローカルストレージ: AsyncStorage
  • AI 統合: Claude API (Anthropic)
  • ナビゲーション: React Navigation v6
  • 日付処理: date-fns
  • HTTP クライアント: axios

前提条件

開発を始める前に、以下がインストールされていることを確認してください:

  • Node.js (v20.11.0 以上)
  • npm または yarn
  • 任意のコードエディタ(VS Code 推奨)

ステップ 1: 要件定義と設計

1.1 要件定義書の作成

まず、アプリの要件を明確にするため、要件定義書を作成します。

設計書

アーキテクチャ

アプリケーション構造

主要インターフェース

ステップ 2: プロジェクトの初期化

2.1 Expo プロジェクトの作成

新しいディレクトリを作成し、Expo プロジェクトを初期化します:

2.2 package.json の設定

プロジェクト名と必要な依存関係を追加します:

2.3 依存関係のインストール

ステップ 3: プロジェクト構造の構築

3.1 型定義の作成

TypeScript の型安全性を活用するため、型定義ファイルを作成します:

src/types/Task.ts

src/types/ApiResponse.ts

3.2 ユーティリティ関数の作成

src/utils/constants.ts

src/utils/dateUtils.ts

src/utils/validation.ts

ステップ 4: ナビゲーション構造の構築

4.1 ナビゲーターの作成

src/navigation/AppNavigator.tsx

4.2 画面コンポーネントの作成

各画面のプレースホルダーを作成します:

src/screens/TaskListScreen.tsx

同様に、AddTaskScreen.tsxTaskDetailScreen.tsxSettingsScreen.tsxも作成します。

4.3 App.tsx の更新

メインの App.tsx ファイルを更新して、新しいナビゲーション構造を使用します:

ステップ 5: 動作確認

5.1 Expo CLI のインストール

5.2 開発サーバーの起動

5.3 ブラウザでの確認

ブラウザが自動的に開き、以下のような画面が表示されます:

  • ヘッダー: 青色の背景に「Task」というタイトル
  • メイン画面: 「タスクリスト画面」と「実装予定」のプレースホルダーテキスト

完成したプロジェクト構造

まとめ

第 1 回では、以下を完了しました:

要件定義と設計: アプリの機能要件と技術アーキテクチャの定義
プロジェクトセットアップ: Expo + TypeScript プロジェクトの初期化
型定義: TypeScript による型安全な開発環境の構築
ユーティリティ関数: 日付処理、バリデーション、定数の実装
ナビゲーション構造: React Navigation v6 による画面遷移の実装
動作確認: ブラウザでの基本動作確認

次回予告

第 2 回では、実際のタスク管理機能を実装していきます:

  • ローカルストレージサービスの実装
  • タスクの状態管理(Context API + useReducer)
  • タスクの CRUD 操作
  • UI コンポーネントの作成

お楽しみに!

参考リンク

Explore More
関連記事はありません。