こんにちは、jazz335です。
SwiftUIを始めるにあたり、近くのジュンク堂に3日間通って3冊の本を購入しました。
1冊が2,480円〜3,220円(税別)と結構高いので、立ち読みしながらじっくり選んでみました。
近くに大きな書店はないけど、内容を比べて選びたいという方の参考になれば幸いです。
SwiftUI対応 たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 12/iOS 14対応
購入した3冊の中でも出版年月が一番新しく、6つのサンプルアプリを開発しながら基本的な知識を身につけるというコンセプトで作られています。
XcodeのインストールからアプリのiPhone転送までをわかりやすく説明
僕の場合は「とにかくiPhoneで自作アプリを動かしてみたい」という気持ちが先行していました。
最初の部分に書かれている、Xcodeのインストール>プロジェクトの作成>アプリの実機転送の手順はとても参考になります。
特に、実機への転送ではエラーコードが出てうまくいかないところもあるのですが、本書に記載されているエラーメッセージ別の対処法をみてうまくインストールすることができました。
6つのサンプルアプリを開発する手順を詳しく解説
本書のメインはアプリ開発の手順解説となっており、これが他の2冊とは大きく違う点です。
本書を執筆されている、藤治仁さん、小林加奈子さん、小林由憲さんは「Swiftビギナーズ倶楽部」という勉強会を運営されています。
初心者がアプリ開発を学習する際には、難しいプログラミングの文法よりも、まずはまねごとでいいのでプログラミングを体験して繰り返し練習することが大切、という着眼点で本書は構成されています。
ですから、本書は6つのサンプルアプリを開発する手順を丁寧に解説しています。
アプリに必要な画像や音源などのファイルについても、ダウンロードサイトが記載されているので特に準備する必要はありません。
ひとつ目のアプリは「じゃんけんアプリ」。
乱数を使って3つの変数をランダムに出すことで、それに紐付けたグー、チョキ、パーの画像を表示するという仕組みのアプリです。
2つ目が「楽器アプリ」。
楽器の画像のButtonをタップするとシンバルとギターの音を出すアプリです。SoundPlayer.swiftというファイルを使ってプログラムを作ります。
3つ目は「マップ検索アプリ」。
MapKitを利用して、キーワード入力で緯度経度を検索しピンのマークを地図に貼り付けます。
4つ目が「タイマーアプリ」。
スタートボタンと押すとカウントダウンを始めるシンプルなアプリですが、アプリを閉じても設定したタイマー時間を保存する「データの永続化」についての解説が載っています。
5つ目がカメラアプリ。
カメラを起動してSNSへ投稿できる機能を持つアプリです。画像をカラーからモノクロに編集したり、色あせたヴィンテージ調にするなどエフェクト処理について詳しく解説しています。
最後が「お菓子検索アプリ」。
Web APIを使ってリクエスト、レスポンスする機能を持つアプリです。JSONやXMLといったデータフォーマットについても説明があります。
詳細! SwiftUI iPhoneアプリ開発入門ノート[2020] iOS 14+Xcode 12対応
サンプルコードがとにかく多く載っています。160本のサンプルコードがダウンロードできるサービスが付いているので、ネットで探してもなかなか目的のコードを見つけられない時に便利です。
やりたいことから逆引きできる
初めに紹介した「iPhoneアプリ開発集中講座」の場合、アプリを一から開発する手順はとても役立つのですが、レイアウトの調整やボタンやテキストフィールドの使い方を調べたいときには少々不便です。
これに対して「iPhoneアプリ開発入門ノート」は、構文の基礎的な解説とサンプルコードがセットで記載されているので、本をざーっとめくって自分がやりたいことの記述を調べるのに向いています。
@Binding変数の詳しい解説あり
変数を宣言するときに通常は@Stateを使いますが、@Bindingで宣言するとView間で変数を共有することができます。
ネットで調べてもいまひとつ理解できなかったのですが、担当者間のチェック状況を判定するサンプルを用いながら丁寧に解説しています。
他にも@Publishedや@ObservedObjectといった、オブジェクトのクラス定義についても説明があります。
デートピッカーの作り方がわかる
デートピッカーは年月日と時刻を選択できる部品ですが、iOS13のときはホイール型だったのがiOS14からはカレンダー機能を利用できるようになりました。
英語表記のカレンダーを日本語で表示したり、日付と時刻の2つのコンポーネントに分けて表示する方法など詳しく記載されているので、日付入力をともなうアプリを制作するときに重宝します。
基礎から学ぶ SwiftUI
3冊の中では一番値段が高く、かつ薄くて小さい本です。SwiftUIを始めたばかりの初心者が最初に読む本というよりは、ある程度基本的なところは押さえた上で実践的なコード記述を知りたい時に役立ちます。
サンプルコードとXcodeのプレビュー画面がセットで表記されているため、コードの記述位置や動作がわかりやすいです。
NavigationViewやListの詳しい使い方がわかる
「iPhoneアプリ開発集中講座」と「iPhoneアプリ開発入門ノート」の2冊を購入して、すでに6,000円近い支出があったにもかかわらず、この本を手に取った理由はNavigationViewやListの詳しい解説があったからです。
僕の場合、銀行の残高内訳をリスト管理するアプリを開発するのが目標だったので、他の本には載っていないサンプルコードがとても魅力的でした。
特に、Listを編集モードにして並び替えたり削除する機能はどうしても必要だったので、この本の解説はとても参考になりました。
UIKitとの組み合わせについても解説
SwiftUI以前のプラットフォームにUIKitがあります。これらを組み合わせて使いたい場合、そのままではうまく行きません。
本書ではそれぞれのクラスと構造体の違いや、コード記述の特徴を説明しながら、UIKit特有の処理をSwiftUIで実装する方法についても解説しています。
まとめ
いかがでしたでしょうか?ジュンク堂で1日1時間近く立ち読みしながら、厳選して購入した3冊をご紹介しました。
SwiftUiについてはまだまだネットの情報も少なく、専門書も数える程しか出版されていません。
そんな中で「プログラム開発の経験はないけど、趣味でアプリ開発を始めたい!」という方の参考になれば幸いです。