【SwiftUI】写真アプリ風の簡易画像管理アプリを作ってみよう!

【中級編/10時間】iPhone、iPadで動作するSwift言語とUI構築フレームワークであるSwiftUIを使ってのアプリ制作。Xcodeを使った開発環境の構築からSwiftUIでの画面作成、MVVM、画像処理、音声認識機能までアプリを開発するために必要な機能を学ぶ。

Appleが昨年リリースした最新フレームワークを使った開発

SwiftUIは、2019年6月にWWDC2019で発表されたばかりのSwift言語で使用できるUI構築フレームワークです。従来のSwiftで画面を作成する場合、ストーリーボードと言うUI構築機能(GUI)を使用するかソースコードにて直接画面を作成する方法が主流でした。しかし、SwiftUIを使用することでより直感的に画面作成が行えます。つまり、少ないコードで開発がより速く、より簡単になったということです。


より優れたAppを、より少ないコードで

Swiftを利用したユーザーインターフェイスを、革新的かつ極めてシンプルに構築することができます。
Dynamic Type、ダークモード、ローカリゼーション、アクセシビリティに自動的に対応するため、SwiftUIのコードは、最初の1行の時点であなたがこれまでに書いた中で最もパワフルなUIコードになります。


コードをシンプルにして時間の節約と保守作業の負担軽減へ

SwiftUIは宣言型シンタックスを使用しているため、ユーザーインターフェイスの動作をシンプルに記述することができます。たとえば、テキストフィールドからなるアイテムのリストを作成すると書いてから、各フィールドの配置、フォント、色を記述するといった具合です。これにより、コードがかつてないほどシンプルで読みやすくなり、時間の節約と保守作業の負担軽減につながります。


ドラッグ&ドロップのように簡単かつ直感的に行うUI構築

SwiftUIがサポートされたXcode 11には、SwiftUIでのインターフェイス構築をドラッグ&ドロップのように簡単に行える直感的な新しいデザインツールが含まれています。それは、まるでプレゼンソフトでスライドを作るように、アプリの画面を作成することを可能にしてます。

デザインキャンバスでの編集内容と、隣接するエディタ内のコードはすべて完全に同期されます。コードを入力するとすぐにプレビューで確認でき、プレビューに何か変更を加えると直ちにコードに反映されます。変更内容はXcodeによって直ちに再コンパイルされ、実行中のAppに挿入されるため、いつでも確認、編集できます。


従来のソースコード開発の場合、画面確認するためにはビルド後に実機かシミュレーターで実行する必要がありました。SwiftUIではリアルタイムに画面確認できるため、画面開発に要する時間を短縮できます。また従来のソースコードの画面開発と比較してソースコード量を大幅に削減できることも利点の1つです。

iPhone、iPadApple WatchApple TVMacのそれぞれのデザインに適用できる仕組みで、初心者にとってはより直感的かつ学びやすいUI設計環境となってます。


本教材では、iOSアプリの開発に興味のある方が、SwiftUIを使っての画面作成やMVVMから画像処理や音声認識機能までアプリを開発するために必要な機能を学ぶことができるような内容になってます。



学習内容

  • SwiftとSwiftUIを使った実践的な開発スキルを学びます。
  • Xcodeを使った開発環境の構築ができるようになります。
  • SwiftUIを用いて画像表示する機能の開発を行います。
  • アプリケーションの設定値を保存・復元・初期化する機能を開発します。
  • SwiftとSwiftUIにて画像処理機能の開発を行います。
  • iPhone, iPadのマイクから音声認識する機能の開発を行います。
  • AppStoreにアプリを公開する方法を学びます。


実際に作成するサービスのイメージ



本教材の対象者

  • 書籍などを見ながら何かしらのプログラミング言語で簡単なサンプルアプリケーションを作ったことがある方
  • iPhone, iPadアプリ開発の大まかな流れを把握したい方


受講における必要条件

条件分岐や繰り返し処理、関数といったプログラミング言語の基礎知識


この教材で学ばないこと

本教材はSwiftUIを使用したiPhone, iPadアプリ開発の大まかな流れを把握することを一番の目的としており、Swift言語の解説は一部省略しております。細かく知りたい方はご自身で調べていただきたくお願いいたします。


本教材で質問対応可能なOSや環境

  • Mac OS


本教材の対応バージョン

  • MacOS Catalina バージョン10.15以上
  • Xcode11以上
  • iPhone (iOS13以上)
  • iPad (iPadOS以上)

iOS12以下には対応していませんので、学習を進めるならiOS13(iPadOS)以上にアップデートしてください。もし対応しているiPhoneやiPadをお持ちでない方でも、XcodeはiPhoneやiPadをシュミレーター機能で表示できるため学習を進めることが可能です。


この教材を執筆した想い

iPhone、iPadアプリ開発未経験者のために分かりやすい教材を作ることで、サポートできたらと思い教材を執筆しました。アプリ開発から公開までの大まかな手順だけでなく、音声認識やアニメーション機能なども教材内に入れていますので楽しんでいただければ幸いです。アプリ開発は個人が世界に向けて配信(挑戦)できる市場であり非常にやりがいがあります。この教材で少しでもアプリ開発者の助けになればと思います。


この教材の執筆者


ハッサン
ハッサン

業務系システム開発会社に勤務しフリーランスエンジニアとして活動しています。アプリ開発の楽しさをプログラミング初学者の方々に分かりやすく提供したいと思っています。


本教材のカリキュラム


  3章:iPhone内の画像ファイルを読み込む機能
利用可能
日 購入してから
  4章:画像リスト表示機能
利用可能
日 購入してから
  6章:画像スクロール表示機能
利用可能
日 購入してから
  9章:iPhoneの設定アプリに機能を追加
利用可能
日 購入してから
  トラブルシューティング
利用可能
日 購入してから