Open2
SwiftでiPadアプリを作成する土台作り
Swiftでアプリ立ち上げの練習をする
来月アサインされる予定の案件が、Swift
ベースのiPadアプリなので、簡単にプロジェクト立ち上げの学習をする。その備忘録として、スクラップを作成。
前回の反省点
以前も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