見出し画像

WebエンジニアのiOSアプリ開発入門 SwiftUI Tutorials編

今日はiOSアプリ開発に入門した話をしたいと思います。
私は普段はWebエンジニアとして働いており、経験年数は大学生のインターン時代から数えると約6年です。ちなみに、iOSアプリ開発はほぼ初めてです。(もちろんAndroidも)

iOSアプリ開発を始めた理由

私は普段の仕事では、モバイルアプリがメインのプロジェクトで、Reactを使ったWeb開発をしています。

プロジェクトの性質上、私のチームはモバイルアプリ内のWebViewで表示されるWebページを開発する機会が多いです。そのため、頻繁にiOS Simulatorを開いて開発環境のモバイルアプリを起動して開発・デバッグをしますし、Universal Links / App LinksやCustom URL SchemeをWebページ内に設置したりもします。

このようなモバイルアプリ開発が身近な環境にいるため、モバイルアプリ開発に興味を持ち、自分でもモバイルアプリを開発してみたくなりました。

MacBookとiPhone持ってたので、iOSアプリ開発を始めることにしました。

やったこと

ボリュームが大きい学習教材だとモチベーションが続かない気がしたので、1~2週間で修了できそうなボリュームで、かつ楽しそうな教材を始めることにしました。

SwiftUI Tutorials

いくつか調べてみて、Appleが提供するSwiftUI Tutorialsがとても良さそうだったのでまずはこのチュートリアルから始めました。結論、とても良かったです。

このチュートリアルでは、SwiftUIを使って、ユーザーがお気に入りの場所(Landmark)を見つけて共有するためのアプリを開発します。

アプリには、以下の機能があります。バックエンドの実装は無いので、UIに必要なデータは用意されたjsonファイルを使用します。

  • Landmarkをリストで表示する

  • 各Landmarkの詳細ビューでMapや詳細情報を表示する

  • Landmarkをお気に入りに追加できる

  • ユーザーが訪問したLandmarkのバッジを付与する

  • アプリの使用中にユーザーが行ったハイキングを追跡するためのグラフを表示する

作成したアプリのスクショ

※最後のセクションでUIKitを使用したり、watchOSアプリの作成がありますが、そこはスキップしたので、一部未完成です。

以下、コースの感想です。

  • とても実践的で本格的なチュートリアルだと思います。説明も丁寧で、Swift完全初心者でしたが学習を進めることができました。

  • 実は最初はiOS App Dev Tutorialsから学習を始めたのですが、私には難しく感じたのと、ボリュームが大きすぎて、かなり時間がかかりそうだったので、SwiftUI Tutorialsの方にスイッチしました。スイッチしなければ挫折してたかもしれません。

  • SwiftUI Tutorialsは所要時間 4時間25分と書いてありますが、私はほぼ全て写経しながら進めたのと、英語を翻訳しながらだったこともあり、実際には10~12時間かかりました。

  • 私の理解力の低さや英語教材ということもあり、まだ理解できない箇所がいくつかあります。具体的には、struct、Binding、Observableの理解がとても浅いです。

次にやること

SwiftUI Tutorialsで理解できなかった箇所、理解が浅い箇所がいくつかあるため、次に以下の本を購入して読み進めています。

この本はいくつかのサンプルアプリをSwiftUIで開発していくスタイルで、かなり優しく、簡単な説明が付いており、初心者にとても優しいです。
日本語最高!

この本では写経せず、あくまでSwiftUIの理解を深めるという目的で、全体をざっと眺めるに留める形で進めます。写経は一定の効果がありますが、時間がかかりすぎてしまうのと、モチベーションを保つのが自分にとっては難しいためです。

本を参考にし、自分が作りたいアプリを実際に開発していきたいと思います。

この記事が参加している募集

#最近の学び

181,541件

#やってみた

37,002件