React Native Course

Day 2

環境構築

Expo Router 前提の新規アプリを作り、@expo/ui を導入して Daily Setup の土台を作ります。

React Native / Expo13分

今日のゴール

Daily Setup を作るための Expo プロジェクトを用意します。

今日の作業が終わると、iOS シミュレータでアプリを起動でき、@expo/ui を使う準備ができた状態になります。Day 3 以降は、このプロジェクトに毎日 component を追加していきます。

学ぶ component / 概念

  • Expo Router 前提のプロジェクト構成
  • @expo/ui の導入
  • iOS シミュレータでの起動確認
  • app/ ディレクトリと画面の対応

まず結論

今日は画面を作り込む日ではありません。

新規 Expo アプリを作り、Bun で依存関係とコマンド実行を扱い、@expo/ui を入れて iOS で起動できるところまで確認します。ここで詰まると Day 3 以降の component 学習に進めないため、見た目よりも起動確認を優先します。

公式 docs で確認すること

公式 docs では、次の3点を確認します。

  1. @expo/ui のインストール方法
  2. Expo UI が対応している platform
  3. SwiftUI component を使うときの import 元

読むときは、次の問いに答えられるかを確認してください。

  • @expo/ui はどの package 名で導入するか
  • iOS 向けの SwiftUI component はどこから import するか
  • このコースで Android 向け component を触らなくてよい理由は何か

今日の作業手順

1. 新規 Expo アプリを作る

Expo Router を使う前提で、新しい Expo アプリを作ります。

bun create expo-app daily-setup

作成できたら、プロジェクトに移動します。

cd daily-setup

2. iOS で起動する

まずは初期状態のまま起動します。

bunx expo start

起動後、iOS シミュレータで初期画面が表示されるか確認します。

この時点でエラーが出る場合は、@expo/ui を入れる前に解決します。依存関係を増やす前に、素の Expo アプリが動くことを確認するためです。

3. @expo/ui を導入する

Expo UI を使うために @expo/ui を追加します。

bunx expo install @expo/ui

導入後、もう一度起動します。

bunx expo start

ここで起動できれば、Day 3 から SwiftUI component を表示する準備ができています。

4. 画面構成をメモする

今日の時点では実装しなくて構いません。次の3画面を作る前提だけメモします。

# Daily Setup 画面構成

## Today
今日の進捗、集中時間、予定を見る画面。

## Tasks
タスクの追加、完了、削除を扱う画面。

## Settings
通知、集中時間、週の開始日、テーマ、リセット確認を扱う画面。

単体サンプルで試すこと

今日は単体 component のサンプルは作りません。

確認するのは、次の2つです。

  • Expo アプリが起動すること
  • @expo/ui を導入しても起動が壊れないこと
  • Bun で Expo のコマンドを実行できること

Daily Setup に組み込むこと

daily-setup プロジェクトを、今後の作業場所として用意します。

Day 3 以降で TodayTasksSettings を作っていくため、今日は画面構成のメモまでで十分です。

学習メモ

今日のメモは、次のように残します。

Daily Setup 用の Expo アプリを作成した。

Bun で依存関係と Expo コマンドを扱う方針にした。

@expo/ui を導入した。

iOS シミュレータで起動確認した。

今後は Today、Tasks、Settings の3画面を作る。

よくあるつまずき

@expo/ui を入れる前から起動しない

まず Expo アプリ単体の問題を解決します。初期状態で起動しない場合、Expo UI の問題ではありません。

どの import を使うのかわからない

iOS 向け SwiftUI component を使う日は、@expo/ui/swift-ui を見ます。@expo/ui は package 全体の名前です。

画面を今日作るべきか迷う

今日は土台作りの日です。画面の実装は Day 3 から進めます。

完了条件

  • Expo アプリが作成できている
  • @expo/ui を導入している
  • iOS シミュレータで起動できる
  • Daily Setup の3画面をメモしている

← Expo UI SwiftUI iOS 30日学習コース に戻る