iOS, SwiftUI, Swift

「1人でアプリを作る人を支えるSwiftUI開発レシピ」という同人誌を書きました #技術書典

----------2020-03-15-20.01.43

WWDC 19から登場した新しいユーザーインターフェースフレームワークSwiftUI。
これを使えば、アップルプラットフォーム(iOS/iPadOS/macOS/tvOS)でアプリを楽に作ることができます。

発表から半年以上がたち、徐々にSwiftUIでアプリ開発をする事例も出てきました。
ですが、世の中に出ているSwiftUIの解説記事はまだまだ断片的で、ひとつのアプリを開発するノウハウを説明するところまではいってないと感じています。

「1人でアプリを作る人を支えるSwiftUI開発レシピ」ではアプリ開発に焦点をあてたSwiftUI解説本です。実践的なアプリレシピを紹介することで、自分でアプリを作るときにもどうアプリを組み立てていったらいいのかが理解できるようになります。

「本書で学べること」

  • データバインディング
  • MVVMでのアーキテクチャ
  • SwiftUI自体の使い方(レイアウトシステム、座標取得)
  • SwiftUIでは足りない部分を補う方法

掲載レシピ

GitHubAPIリポジトリ検索アプリ

今ではどのアプリにも必須の機能であるURLSessionからAPIを実行してJSONデータを表示する例としてGitHubAPIリポジトリ検索アプリを作ります。
よくある解説ではAPIからJSONを取ってくるところで終わりますが、このアプリではUIもこだわっています。
現在モバイルUI/UXでポピュラーな「カード型UI」に挑戦します。

エクスペリエンスデザインの基礎知識:カード型UI - Adobe Blog

  • URLSessionを使ったネットーワーク通信
  • APIのレスポンスJSONからUIを作る方法
  • カード型UI
  • TextFieldによるユーザーの入力に合わせた処理方法
  • SwiftUIからWebページの表示

バックエンドの処理、UIの組み立て方、どちらも学べるレシピです。

お絵かきアプリ

画面を指でなぞって絵が描ける、お絵かきアプリです。
描いたキャンバスは保存ボタンを押せば、標準の写真アプリに画像として保存できます。
「消しゴム」ボタンをタップすれば描いた線をなぞって消すことができます。

このアプリを通して次の実装が学べます。

  • DragGestureの使い方
  • ジェスチャーの座標情報からPathのViewを作る方法
  • SwiftUIだけでは実現できないViewのキャプチャ取得をUIKitと連携して行う方法

SwiftUIのレイアウト解説

レシピだけではなくて、SwiftUIのレイアウト解説も詳細に行っています。

「SwiftUIのレイアウトシステム」の章ではView配置がどのように決定されるかを解説し、「SwiftUIの座標空間」では座標空間の計算方法が学べます。
Viewを組み立てる上でこれらの知識は必要となります。
「なんとなくViewを作る」状態から脱出して作りたいUIを作れるようになりましょう!

Combine解説

本書ではSwiftUIと一緒に発表されたApple公式の非同期処理フレームワークCombineも解説しています。非同期処理フレームワークといえば、RxSwiftReactiveSwiftを使っている方も多いと思います。Combineではどのように使えばいいのか気になるでしょう。そんなときも本書が役に立ちます。

【目次】

  • 第1章「SwiftUI概要」
    • SwiftUIの概要を解説します。SwiftUIとはどんなコンセプトで作られ、どんな特徴や利点があるのかをお伝えします。
  • 第2章「SwiftUIのレイアウトシステム」
    • Viewのレイアウトがどのように決まるのかを解説します。これを理解すればアプリの画面作成の助けになるでしょう。
  • 第3章「SwiftUIの座標空間」
    • SwiftUIで各Viewの座標やサイズを把握する方法を解説します。
  • 第4章「基本Viewの使い方」
    • TextやImageなどSwiftUIで提供されている基本的なViewの使い方を解説します。
  • 第5章「Combine」
    • SwiftUIとともにiOS 13から導入された非同期イベントフレームワークCombine。SwiftUIとともに使われる機会が増えていくのでじっくり理
      しましょう。
  • 第6章「レシピ:GitHubAPIリポジトリ検索アプリ」
    • GitHubAPIを使ってリポジトリ情報をアプリに表示しましょう。ネットワークとSwiftUIの連携方法が学べます。
  • 第7章「レシピ:お絵かきアプリ」
    • ユーザーが指でなぞると絵が描けるお絵かきアプリをつくましょう。消しゴム機能やキャンバス機能もあります。

購入はこちらから

「1人でアプリを作る人を支えるSwiftUI開発レシピ」は技術書典応援祭で販売中です。
SwiftUIでアプリを作りたい方、ぜひチェックしてください!

https://techbookfest.org/product/5680431013822464


Author image

About Sato Takeshi

  • Tokyo, Japan