Open2

SwiftでiPadアプリを作成する土台作り

Nifumafu🍊Nifumafu🍊

Swiftでアプリ立ち上げの練習をする

来月アサインされる予定の案件が、SwiftベースのiPadアプリなので、簡単にプロジェクト立ち上げの学習をする。その備忘録として、スクラップを作成。

Nifumafu🍊Nifumafu🍊

前回の反省点

以前もiPadアプリの案件を行ったのですが、途中ヘルプする形で参加したので、土台が既に作成された状態だった。そのため、少し開発しにくい、無駄だなと感じることがあったのでリストアップする。

  • MVVMを採用していたが、区分が曖昧だったので開発時にファイル分割等で悩むことが多かった。
  • 同じ関数やコンポーネントを何度か記述した。
  • 共通のThemeなどがなかったので、統一感を維持するのにコストを要した。

対策

  • 並行して開発しているWebアプリでUIライブラリのMUIを使用しているので適宜参考に。
    • Themeなどの初期的な設定も、Assets.xcassetsにしておく。
    • Buttonなどのコンポーネントをあらかじめ作成しておく。

      【作成予定のコンポーネント】

      • Button
      • Card
      • Dialog
      • Typography
      • Input
      • SelectBox
      • Checkbox
      • TextField
  • MVVMとReactのフォルダ構成をハイブリッドさせる
デモ的に作成したフォルダ構成
project-root/
├── ios/                                  # Swift側プロジェクト
│   ├── AppDelegate.swift
│   ├── SceneDelegate.swift
│   ├── Models/                           # データ構造やCodable型
│   │   ├── Building.swift
│   │   └── User.swift
│   ├── Scenes/                           # 各画面の構成(ViewControllerやSwiftUI View)
│   │   ├── Home/
│   │   │   └── HomeViewController.swift
│   │   └── Settings/
│   │       └── SettingsView.swift
│   ├── Extensions/                       # Swift拡張
│   │   └── UIColor+App.swift
│   ├── Managers/                         # 各種マネージャークラス
│   │   └── NetworkManager.swift
│   ├── Utils/                            # 汎用処理
│   │   └── DateFormatterUtil.swift
│   ├── Consts/                           # アプリ内定数
│   │   ├── ColorPalette.swift
│   │   └── APIEndpoints.swift
│   └── Resources/
│       └── Assets.xcassets/
│           └── ...
├── README.md
└── .gitignore