🦆

SwiftUIではじめてアプリを作ってみた!

2024/01/02に公開

2年ぶりにSwiftアプリを作ってみた

iOS開発を勉強して未経験で私IT業界に入ったのですが、iOSエンジニアにはなることができなくて、仕事でやっていたのは、FlutterとPythonでした。

最近は、バックエンドとインフラでTypeScript、Prisma、TypeORM、AWS、Dockerを使う機会がありモダンな開発経験をモバイル以外で積むことができました。

なぜSwiftUIでアプリを作ったのか?

単純に物作りが好きなのと技術への興味ですね。Flutterは動きがぬるっとしてるとか、ネイティブアプリと同じ機能をもったアプリを作ることができないそうです?

過去に、StoryBoardでアプリを2個作ったことがあるのですが、簡単なメモアプリを作るだけで苦労しました。ボタンやListといったオブジェクトをドラッグ&ドロップするのは難しかったですね。

こちらが作ったアプリです

といっても機能は少なくて、データを保存、表示、編集、削除するだけですね。それだと物足りないので、入力フォームにDatePickderをつけたり、ダークモードとライトモードで入力フォームの色が変化しても文字が表示されるようにしましたね。
他に誇れるものがあるとしたら、美しい青のグラデーションでしょうか...

https://apps.apple.com/us/app/withenidia/id6474895904

使用した技術

これだけしか使ってないです。シンプルでしょう。元々は自分用で作った。

  • SwiftUI(今回使用したフレームワークですね。UIを作成するのに使用)
  • Realme(Swiftでよく使われてるローカルDB)
  • MVVM(モデルクラス、状態を扱うクラスとレポジトリ、画面を分けた設計)

感想

StoryBoardで開発したときよりコードを書けば簡単にUIを作れるが、慣れるまでは難しかったですね。FlutterでいうところのColumnやRowは、VStackとかHStackというものを使って、オブジェクトのレイアウトをしました。

Firebaseを使ったアプリ作れたのですが、これにログインはいるのか?、FireStoreを使うべきか?
と考えて、🛜インターネットに繋がってなくても使えるデータの保存と表示ができるアプリが欲しかったので、ノリで作ってみました。

ローカルDBのいいところって、リモートのDBと違って起動が早いところでしょうか。昔作ったアプリと比較すると今回は、グラデーションがあるオシャレなUI/UXデザインを意識したのと、DatePickerがあるので、ちょっとはリッチになったかな〜って感じです。

Discussion