【2022年】Swift(UI)でiOSアプリ開発!「人気本BEST30/おすすめ9選」

SwiftはiPhoneを始めとするiOS、maxOS向けのアプリケーション開発のためのプログラミング言語。

世界で人気のiPhoneですが、日本は特にシェアが高く、多くのユーザー向けのスマホアプリ開発ならiPhoneは外せません

Swiftは2019年からSwiftUIという新たな実装フレームワークが登場し、開発しやすくなると同時に皆が新たな知識が必要となり、これから始めるのにも最適です。

本記事では、Swift(SwiftUI)の参考書を人気、目的別のおすすめとともに紹介していきまっす。

 

 

 

Kindle Unlimited 1ヶ月無料

kindle_unlimited_sale
 
  • 1ヶ月無料で読み放題
  • 1ヶ月以内でも解約可能
  • 解約後も1ヶ月まで利用可


 

Swiftの本「人気ランキング」

Swiftのプログラミング本を、今売れ筋の人気ランキングで一覧したのが以下。

ランキングは日々更新されていますので、最新の人気が反映されています。

 

(2022/08/18 12:09 更新)
Rank製品価格
1
Swift UI対応 たった2日でマスターできる iPhoneアプリ開発集中講座 Xcode13/iOS15/Swift 5.5対応...
発売日 2021/10/22
藤 治仁, 小林 加奈子, 小林 由憲 (ソシム)
総合評価
(4.3)
2,728円
(+270pt)
2,479円
2,728円
2,728円
2
詳細!SwiftUI iPhoneアプリ開発 入門ノート[2021] iOS 15+Xcode 13対応...
発売日 2021/12/10
大重 美幸 (ソーテック社)
総合評価
(4.1)
3,080円
2,926円
3,080円
3,080円
3
ゼロから始める超入門 はじめてのプログラミング AppleのSwiftでiPhoneアプリをいちから作ろう (Mac Fan Special...
発売日 2017/09/26
栗原 亮, 竹林 暁, 沼田 哲史, 松尾 高明 (マイナビ出版)
Kindle Unlimited対象
総合評価
(3.8)
462円
1,700円
1,738円
1,624円
4
詳解 Swift 第5版
発売日 2019/11/15
荻原 剛志 (SBクリエイティブ)
総合評価
(4)
3,433円
3,267円
3,630円
2,748円
5
470円
3,428円
3,608円
900円
6
Swift PlaygroundsではじめるiPhoneアプリ開発入門
発売日 2022/05/20
掌田津耶乃 (ラトルズ)
総合評価
(2.5)
2,750円
2,475円
2,750円
2,750円
7
400円
509円
3,080円
3,080円
8
[増補改訂第3版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus...
発売日 2020/04/15
石川 洋資, 西山 勇世 (技術評論社)
総合評価
(4.2)
3,608円
3,428円
3,608円
3,608円
9
XcodeではじめるSwiftプログラミング
発売日 2015/01/29
大津 真 (ラトルズ)
総合評価
(3.5)
3,080円
(+300pt)
1,000円
3,080円
3,080円
10
詳細! SwiftUI iPhoneアプリ開発入門ノート[2020] iOS 14+Xcode 12対応...
発売日 2020/12/05
大重美幸 (ソーテック社)
総合評価
(4.2)
3,080円
2,926円
3,080円
3,080円
11
詳細!SwiftUI iPhoneアプリ開発入門ノート iOS 13+Xcode 11対応
発売日 2019/12/21
大重 美幸 (ソーテック社)
総合評価
(4.1)
2,970円
2,822円
2,970円
2,970円
12
詳細!SwiftUI iPhoneアプリ開発入門ノート iOS 13+Xcode 11対応
発売日 2019/12/21
大重 美幸 (ソーテック社)
総合評価
(4.1)
2,970円
2,822円
2,970円
2,970円
13
SwiftUIではじめるiPhoneアプリプログラミング入門
発売日 2020/06/03
大津 真 (ラトルズ)
Kindle Unlimited対象
総合評価
(3.2)
2,948円
1,890円
2,948円
2,948円
14
たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 11 Swift 5対応...
発売日 2019/11/15
藤治仁, 小林加奈子, 小林由憲 (ソシム)
総合評価
(4.2)
4,373円
2,526円
2,728円
1,606円
15
2,728円
2,455円
2,728円
2,728円
16
SwiftUI対応 たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 12/iOS 14対応...
発売日 2021/02/05
藤治仁, 小林加奈子, 小林由憲 (ソシム)
総合評価
(4)
2,728円
2,479円
2,728円
2,728円
17
詳細!Swift iPhoneアプリ開発 入門ノート iOS 12+Xcode 10対応
発売日 2018/11/02
大重 美幸 (ソーテック社)
総合評価
(4.1)
3,520円
(+106pt)
3,344円
3,520円
3,520円
18
詳細!Swift iPhoneアプリ開発 入門ノート iOS 12+Xcode 10対応
発売日 2018/11/02
大重 美幸 (ソーテック社)
総合評価
(4)
3,520円
(+106pt)
3,344円
3,520円
3,520円
19
SwiftUI 徹底入門
発売日 2019/12/21
金田 浩明 (SBクリエイティブ)
総合評価
(4.1)
3,278円
2,950円
3,278円
2,117円
20
UIKit&Swiftプログラミング 優れたiPhoneアプリ開発のためのUI実装ガイド...
発売日 2015/06/17
斉藤 祐輔 (SBクリエイティブ)
総合評価
(2.9)
3,465円
3,278円
3,278円
900円
21
iPhoneアプリ開発講座 はじめてのSwift
発売日 2017/01/26
諏訪 悠紀 (SBクリエイティブ)
総合評価
(4)
2,838円
2,696円
2,838円
1,270円
22
iOS/macOS UIフレームワーク SwiftUIプログラミング
発売日 2020/10/01
掌田津耶乃 (秀和システム)
総合評価
(3.4)
3,080円
2,772円
2,772円
3,080円
23
詳細!Swift2 iPhoneアプリ開発 入門ノート Swift 2+Xcode 7対応
発売日 2016/12/20
大重 美幸 (ソーテック社)
Kindle Unlimited対象
総合評価
(2.4)
287円
3,498円
3,498円
567円
24
SwiftUI対応 たった2日でマスターできるiPhoneアプリ開発集中講座 Xcode 12/iOS 14対応...
発売日 2021/02/01
藤 治仁, 小林 加奈子, 小林 由憲 (ソシム)
総合評価
(4)
2,728円
2,479円
2,728円
2,728円
25
詳細!Swift 3 iPhoneアプリ開発 入門ノート Swift 3+Xcode 8対応
発売日 2016/12/20
大重 美幸 (ソーテック社)
Kindle Unlimited対象
総合評価
(3.8)
1,980円
3,344円
3,520円
460円
26
[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus...
発売日 2018/11/14
石川 洋資, 西山 勇世 (技術評論社)
総合評価
(3.9)
3,452円
3,520円
3,520円
900円
27
2,420円
2,178円
2,420円
2,420円
28
SpriteKitではじめる2Dゲームプログラミング Swift対応
発売日 2015/02/27
村田 知常, 原 知愛, 近藤 秀彦, 山下 佳隆 (翔泳社)
総合評価
(3.5)
3,278円
2,950円
3,278円
220円
29
絶対に挫折しない iPhoneアプリ開発「超」入門 第6版 【Swift 4 & iOS 11】完全対応...
発売日 2017/11/22
高橋 京介 (SBクリエイティブ)
総合評価
(3.4)
3,023円
2,722円
3,025円
680円
30
487円
3,000円
3,168円
750円

 

以降でおすすめ・注目の本をピックアップしていきまっす。

ちなみに、Kindle版のある本ならサンプル送信で試し読み可能。大概目次まで見れるので、内容の概要もつかめるので、サンプル試読おすすめです。

 

Swift入門におすすめの参考書

プログラミング初心者や、アプリ開発が初めての方は、まずなによりもとっつきやすさや、わかりやすさを重視して、アプリが作れる、という体験をすることが重要。

技術の習得よりも、実践・実行を重視し、その過程で技術を吸収していきましょう。

以下のような、読みやすく、はじめから丁寧な解説のある本から初めてみるのがおすすめです。

たった2日でマスターするiPhoneアプリ開発集中講座 Xcode 11 Swift 5対応

たった2日でマスターするiPhoneアプリ開発集中講座 Xcode 11 Swift 5対応
(著)藤 治仁, 小林 加奈子, 小林 由憲
発売日 2019/10/23
総合評価
(4.2)
(2022/07/17 12:19時点)
●本書が対象とする方

・プログラムを書いたことはないけれど、iPhoneアプリを作ってみたい方
・iPhoneアプリをよく利用していて、自分でも作ってみたいと思った方
・中高生、大学生でiPhoneアプリ開発を学んでみたい方
・シルバー世代や中高年の方で再学習を実施したい方
・企業で入社前研修や企業導入研修での教材を検討している方

そんなiPhoneアプリを作ってみたい、すべての初心者が対象です。
アプリを作ることを「開発」するともいいます。開発といっても「難しいことをする! 」と身構える必要はありません。プログラミングを楽しみながら、リラックスして読み進めてください。

●本書でできるようになること

初心者の方もサンプルアプリを作ることにより、動く体験と基本の知識が身につくようになります。
この書籍を終えるころには、他の入門書やプログラミング文法書を読む力もついていると思います。そして、作りたいアプリや学習したい分野も見えてくると思いますので、ぜひ、次の書籍を購入してステップアップを目指してください。

●本書の特徴

とにかく「体験」すること、そしてあとから「理解」することに重点を置いています。
本書では、プログラミングの文法説明は最小限にして、iPhoneアプリを作って動かしていくことを目的として構成しています。
プログラミング文法書のように文法を理解して覚えるのではなく、どんどんアプリを作って体験していくことに比重を置いています。プログラミングがはじめての人でも楽しみながらiPhoneアプリが作れるという体験ができるように工夫しました。 学習が進めやすいように、学校の授業のように時限制(レッスン)で区切っています。各レッスンごとに独立したサンプルアプリが作れるように配慮していますので、制作したいサンプルアプリがあれば、途中からでも学習できます。 まったくの初心者の方は、読み飛ばさずに最初からじっくりと取り組んでみてください。少しでも経験のある方は、作りたいサンプルアプリのレッスンからはじめるのもよいでしょう。

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
Day1(はじめてのアプリを開発する前に知っておこう
アプリ開発の環境を整えて、Xcodeの使い方を学ぼう
じゃんけんアプリを作ろうーSwiftの基本を学ぶ
音楽アプリを作ろうー音の扱い方を学ぶ
マップ検索アプリを作ろうーUIパーツとdelegate)
Day2(タイマーアプリを作ろうー画面遷移とデータの永続化
カメラアプリを作ろう(前半)-カメラとSNS投稿
カメラアプリを作ろう(後半)-エフェクト機能の追加
お菓子検索アプリを作ろうーWeb APIとJSONの使い方を学ぶ)

↓全て表示↑少なく表示
Users Voice
この本はXcodeの使い方を繰り返し写経して覚えます。 プログラミング知識にはあまり結びつきませんが、iOSアプリ開発の手順が大まかですが、理解を深められるものです。この本を完読した後、Swiftなどを学べば、様々なアプリを作れるようになると思います。写して学習するタイプの教養本です。初心者でもこなせる内容だと思いますよ! (参考:YahooShopping)

↓全て表示 ↑少なく表示
初学者向けには良いと思います とりあえず一冊進めてもう一度見返すと理解が深まると思います 1週間をめどに終えるぐらいでいいと思います 焦らずに進める事が肝心です (参考:YahooShopping)

↓全て表示 ↑少なく表示
わかりやすく、誤字や誤植もなかったです。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
藤治仁(フジハルヒト)
組み込み機器ファームウェア開発に従事

小林加奈子(コバヤシカナコ)
中学生&高校生のためのプログラミング・ITキャンプ「Life is Tech!」を運営するライフイズテック株式会社でエンジニアとして従事。また、2011年から、TickleCodeという屋号で、システム開発やITイベントの開催、セミナーの講師を行っている。自社でもテニス関連のサービスやアプリを開発している

小林由憲(コバヤシヨシノリ)
16年間、基幹業務(会計、販売、生産)管理システムのエンジニアとして従事。2011年からTickleCodeという屋号でJavaScript、WordPressでのWebサイト制作を行う。Swiftビギナーズ倶楽部など、多数の勉強会・セミナーの開催を行ってきた(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

ゼロから始める超入門 はじめてのプログラミング AppleのSwiftでiPhoneアプリをいちから作ろう (Mac F...


※この商品は固定レイアウト型の電子書籍です。

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。

※お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。

※本書内容はカラーで制作されているため、カラー表示可能な端末での閲覧を推奨いたします。



プログラミングの基礎とSwiftの始め方がしっかりわかる!

2020年のプログラミング教育必修化に向け、子どものためのプログラミング学習の重要性が高まっています。その中でもっとも注目を浴びるプログラミング言語の1つが、Appleが開発したSwiftです。2014年にリリースされたこのモダン言語は、その「読みやすさ、書きやすさ」の観点から、子どものみならず、大人にとっても一番学びやすい言語といえます。本書は、プログラミングのことは全くわからないという初心者をターゲットとし、いちから「プログラミングとは何か」「なぜプログラミングが必要なのか」「どのような言語があり、なぜSwiftなのか」といった、"プログラミング以前"もしっかりと解説したうえで、「実際にSwiftで書いてみること(簡単なiPhoneアプリ制作)」を学べる1冊です。これからプログラミングを始めたい大人のみならず、一緒に学びたい親子にもおすすめです。さぁ、"次世代の一般教養"といわれるプログラミングを、AppleのSwiftから始めてみませんか?

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
Chap1:プログラミングってそもそも何?
Chap2:なぜプログラミングが今注目されるの?
Chap3:プログラミングとアルゴリズムの基礎を知ろう
Chap4:どんなプログラミング言語があるの?
Chap5:MacやiPhone、iPad、どんなものが必要?
Chap6:Swiftの特徴を知ろう!
Chap7:Swift Playgroundsでゲーム感覚で学んでみよう
Chap8:SwiftでiPhoneアプリを作ってみよう

↓全て表示↑少なく表示
Users Voice
プログラミングのための予備知識が大半を占めています。少しでもプログラムの実践をして見たいと思う人には、期待はずれの一冊です。しかも、入門書と言いながら、巻末のプログラミングの手順を説明したものは、読みにくく全く親切ではありません。時間稼ぎにおまけでつけたようなものです。¥1,700を支払う価値はないと思います。未だにこんなやり方で出版しているのですね。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
Swift Playgroundsが紹介されている。また、プログラマが三大美徳としている「怠慢」「短気」「傲慢」という紹介も。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
  

たった1日で基本が身に付く! Swift アプリ開発 超入門 たった1 日で基本が身に付く!

(概要)

本書は,Swiftの基礎をマスターする本です。Swiftの基礎を学びながら,iPhoneのアプリ(ゲーム)を作成していきます。本書の前半ではPlaygroundを利用しSwiftの文法をわかりやすく解説し,本書の仕上げとしてXcodeを用いシューティングゲームを作成していく,Swiftのいちばんやさしい本を目指した書籍です。


(こんな方におすすめ)

・Swiftの基礎を学び,iPhoneアプリを開発してみたい初心者


(目次)

CHAPTER 1 Swiftを学ぶ準備をしよう

  • 01 プログラミングの準備をしよう

  • 02 Xcodeに触れてみよう

  • CHAPTER 2 Swiftの基本を学ぼう

  • 01 文字や数字を表示してみよう

  • 02 値を箱にしまってみよう

  • 03 データの種類を覚えよう

  • 04 計算をしてみよう

  • 05 プログラムに説明をつけてみよう

  • CHAPTER 3 条件で動作を変えてみよう

  • 01 「もし○○ならば」をコードで表してみよう

  • 02 複数の値から一致するものを見つけよう

  • CHAPTER 4 処理の繰り返しと複数データの取り扱い

  • 01 回数を決めて処理を繰り返してみよう

  • 02 決められた条件の間,処理を繰り返してみよう

  • 03 たくさんのデータを使ってみよう

  • 04 繰り返し処理でコレクションを操作しよう

  • CHAPTER 5 よく利用する処理をまとめよう

  • 01 関数を作成しよう

  • 02 値を受け取る関数を作ってみよう

  • 03 値を返す関数を作ってみよう

  • 04 安全な関数を作ろう

  • CHAPTER 6 データと処理をまとめよう

  • 01 オブジェクト指向を理解しよう

  • 02 クラスを定義して使ってみよう

  • 03 クラスをより深く理解しよう

  • 04 クラスの機能を引き継いだクラスを作成しよう

  • CHAPTER 7 ゲームを作る準備をしよう

  • 01 実機でアプリ動作を確認できるようにしよう

  • 02 プロジェクトを作成しよう

  • 03 画面をデザインしよう

  • 04 キャラクターを作成しよう

  • CHAPTER 8 キャラクターを表示して動かそう

  • 01 画面に自機を表示しよう

  • 02 画面に敵を表示しよう

  • 03 自機を動かそう

  • 04 ミサイルを発射しよう

  • CHAPTER 9 ゲームを仕上げよう

  • 01 スプライト同士の衝突を作成しよう

  • 02 衝突を検知しよう

  • 03 ゲームを仕上げよう

  • ↓全て表示↑少なく表示
     
    内容サンプル

    (引用元Amazon)

     
    目次
    ■■CHAPTER 1 Swiftを学ぶ準備をしよう
    ■01 プログラミングの準備をしよう
    プログラミングって何だろう?
    ソースコードって何だろう?
    開発環境を準備しよう
    ■02 Xcodeに触れてみよう
    Xcodeの起動と終了の方法を覚えよう
    Apple IDを登録しよう
    学習するためのファイルを作成しよう
    playgroundの各部の役割を覚えよう
    playgroundファイルの閉じ方と開き方を覚えよう
    ■■CHAPTER 2 Swiftの基本を学ぼう
    ■01 文字や数字を表示してみよう
    文字を表示するプログラムを作成しよう
    数字を表示するプログラムを作成しよう
    入力したコードに誤りがある場合は?
    ■02 値を箱にしまってみよう
    値を入れる箱とは?
    値を変数に代入してみよう
    変数に値を代入してみよう
    変数の値を使ってみよう
    変数の値を書き換えてみよう
    定数を使ってみよう
    定数を宣言してみよう
    ■03 データの種類を覚えよう
    変数の種類
    整数を扱うデータ型
    小数を取り扱うデータ型
    文字を扱うデータ型
    2つの値のみ取り扱うデータ型
    型推論で宣言した変数のデータ型
    何もない状態を扱ってみよう
    ■04 計算をしてみよう
    四則演算をする記号を覚えよう
    演算子使用時の注意事項
    複数の演算子を使ってみよう
    計算の順序を変えてみよう
    ■05 プログラムに説明をつけてみよう
    1行の説明を付けてみよう
    複数行の説明を付けてみよう
    マークアップコメントを付けてみよう
    ■■CHAPTER 3 条件で動作を変えてみよう
    ■01 「もし○○ならば」をコードで表してみよう
    値を比較する方法を覚えよう
    条件で実行するコードを分岐してみよう
    「そうではない場合」をコードで表してみよう
    「そうではなく○○ならば」をコードで表してみよう
    複数の条件式を組み合わせてみよう
    ■02 複数の値から一致するものを見つけよう
    複数の値と比較してみよう
    switch文の編集
    caseの条件を複数にしてみよう
    caseで範囲を指定してみよう
    ■■CHAPTER 4 処理の繰り返しと複数データの取り扱い
    ■01 回数を決めて処理を繰り返してみよう
    繰り返し処理の必要性を考えよう
    for~ in文で処理を繰り返しみよう
    降順で処理を繰り返してみよう
    ■02 決められた条件の間、処理を繰り返してみよう
    while文で処理を繰り返してみよう
    while文の途中で脱出してみよう
    repeat-whileで処理を繰り返してみよう
    ループの入れ子
    ■03 たくさんのデータを使ってみよう
    コレクション
    配列
    配列を使ってみよう
    辞書
    辞書(Dictionary)を使ってみよう
    辞書の要素数を取得しよう
    Dictionaryの追加と削除
    ■04 繰り返し処理でコレクションを操作しよう
    繰り返し処理でコレクションにデータを格納してみよう
    繰り返し処理でコレクションからデータを取得してみよう
    すべての要素をチェックしよう
    ■■CHAPTER 5 よく利用する処理をまとめよう
    ■01 関数を作成しよう
    関数について理解しよう
    関数を定義してみよう
    変数の有効範囲
    ■02 値を受け取る関数を作ってみよう
    値を受け取る関数
    複数の引数がある関数
    引数の初期値
    ■03 値を返す関数を作ってみよう
    戻り値のある関数
    ■04 安全な関数を作ろう
    引数の値をチェックしよう
    関数を抜ける前に必ず実行したい処理を書いてみよう
    ■■CHAPTER 6 データと処理をまとめよう
    ■01 オブジェクト指向を理解しよう
    オブジェクト指向について理解しよう
    クラスとは
    ■02 クラスを定義して使ってみよう
    クラスを定義しよう
    プロパティとメソッドを定義しよう
    クラスを使ってみよう
    クラスを初期化する処理を作成しよう
    ■03 クラスをより深く理解しよう
    プロパティ初期化の必要性を理解しよう
    引数のあるイニシャライザを定義してみよう
    イニシャライザの多重定義
    計算型プロパティを理解しよう
    プロパティ監視を理解しよう
    ■04 クラスの機能を引き継いだクラスを作成しよう
    クラスの機能を引き継いで新しいクラスを作成しよう
    スーパークラスのメソッドを上書きしてみよう
    サブクラスを使ってみよう
    ■■CHAPTER 7 ゲームを作る準備をしよう
    ■01 実機でアプリ動作を確認できるようにしよう
    XcodeにApple IDを登録しよう
    ■02 プロジェクトを作成しよう
    作成するゲームアプリの概要
    プロジェクトを作成する
    各部の名称
    実行してみよう
    ■03 画面をデザインしよう
    起動画面を作成しよう
    タイトルを中央に配置しよう
    スタート画面を作成しよう
    スタート画面からゲーム画面が表示されるようにしよう
    ■04 キャラクターを作成しよう
    パーツを組み合わせてキャラクターを作成しよう
    Assetsにキャラクターを登録しよう
    ■■CHAPTER 8 キャラクターを表示して動かそう
    ■01 画面に自機を表示しよう
    SpriteKitについて理解しよう
    座標系を理解しよう
    シーンを準備しよう
    不要なコードを削除しよう
    自機を表示しよう
    実行してみよう
    ■02 画面に敵を表示しよう
    敵を表示させるメソッドを作成しよう
    ■03 自機を動かそう
    センサーを使用しよう
    ■04 ミサイルを発射しよう
    画面タップ時の処理を作成しよう
    実機で動作を確認しよう
    ■■CHAPTER 9 ゲームを仕上げよう
    ■01 スプライト同士の衝突を作成しよう
    物理シミュレーションを行う空間のプロパティを理解しよう
    物理ボディについて理解しよう
    衝突する相手を設定しよう
    実行して動作を確認しよう
    ■02 衝突を検知しよう
    爆発のアニメーションを作成しよう
    衝突判定をしよう
    ■03 ゲームを仕上げよう
    ライフを表示しよう
    衝突判定時にライフとスコアを変化させよう
    画面の向きを設定しよう
    アプリアイコンの設定をしよう
    ゲームで遊ぼう

    ↓全て表示↑少なく表示
    Users Voice
    試し読み。ゲーム作成は具体的で初心者中の初心者でも興味が湧く。xcodeでゲームって選ぶところもあるのかと驚いた。各カテゴリーである程度の枠組みがあるのか? (参考:honto)

    ↓全て表示 ↑少なく表示
    内容サンプル

    (引用元Amazon)

     
    著者略歴

    著:高橋 広樹
    高橋広樹

    Microsoft MVP for Visual Studio and Development Technologies(2009~)。

    SwiftのTipsサイトSwift Life(http://swift.hiros-dot.net/)とVB.NET, C#のTipsサイト(http://blog.hiros-dot.net)を運営。

    主な著書に「15時間でわかるSwift集中講座」「かんたんVisual Basic」「Visual Basicテクニックバイブル」「15時間でわかるUWP集中講座」「Xamarinエキスパート養成講座」「かんたんJavaScript」


    ↓全て表示↑少なく表示

      

    Swiftを使いこなす中級者向け書籍

    Swiftを使いこなす、詳細な機能を把握する、なら以下の書籍がおすすめです。

    また、後述もしていますが、最新のSwift5以降はSwiftUIによる開発手法も主流になっていきます。

    Swift自体の解説はもちろん、SwiftUIに関する解説があるかも注目しましょう。

    Swiftの最新バージョン、Swift5対応の参考書で学習しましょう。

    [増補改訂第3版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus

    本書は、Swiftの言語仕様と実践的な利用方法を解説した入門書です。増補改訂第3版では、新バージョンのSwift 5に対応し、実践入門という趣旨に合わせて、第16章「Webサービスとの連携」と第17章「ユニットテスト」を新設しました。

    Swiftは簡潔な言語ですが、その言語仕様を理解し、正しく使うことはけっして容易ではありません。Appleの公式ドキュメントをはじめとして、どんな言語仕様があり、それらをどのように使うかに関しては豊富な情報源があります。しかし、それらがなぜ存在し、いつ使うべきかについてまとまった情報があるとは言えません。本書は、読者のみなさんの「なぜ」や「いつ」を解消することにも主眼を置いています。

    本書では、はじめにSwiftの標準的な機能を一通り解説し、続いて型の設計指針や非同期処理、エラー処理などの実装パターンを説明します。最後に、実践的なSwiftアプリケーションの開発を通じて、それまでに説明した機能と実装パターンの具体的な活用方法を示します。

    ↓全て表示↑少なく表示
     
    内容サンプル

    (引用元Amazon)

     
    目次
    はじめに
    謝辞
    増補改訂第3版での更新点
    サポートページ
    □第1章 Swiftはどのような言語か
    ▼1.1
    言語の特徴
    静的型付き言語
    nilの許容性をコントロール可能
    型推論による簡潔な記述
    ジェネリクスによる汎用的な記述
    Objective-Cと連携可能
    ▼1.2
    開発環境
    ツールチェインのインストール
    macOS
    Linux
    ライブラリ
    標準ライブラリ ── 言語の一部となるライブラリ
    コアライブラリ ── 高機能な汎用ライブラリ
    開発ツール
    Swift Package Manager ── パッケージ管理ツール
    LLDB ── デバッグツール
    ▼1.3
    プログラムの実行方法
    コマンドラインによる実行方法
    REPLによるインタラクティブな実行
    単一ファイルのプログラムの実行
    複数のファイルから構成されるプログラムの実行
    Xcodeにおける実行方法
    Playgroundによるインタラクティブな実行
    複数のファイルから構成されるプログラムの実行
    ▼1.4
    本書のサンプルコードの実行方法
    ▼1.5
    命名規則
    名前に使用可能な文字
    単語の区切り方
    単語の選び方
    ▼1.6
    本書の構成
    ▼1.7
    まとめ
    □第2章 変数と定数と式
    ▼2.1
    変数と定数による値の管理
    ▼2.2
    変数と定数の基本
    宣言方法
    値の代入方法
    代入可能な値
    代入による型推論
    定数への再代入
    値の利用方法
    初期化前の変数や定数の利用
    型の確認方法
    ▼2.3
    スコープ ── 名前の有効範囲
    ローカルスコープ ── 局所的に定義されるスコープ
    グローバルスコープ ── プログラム全体から参照できるスコープ
    スコープの優先順位
    ▼2.4
    式の組み立て
    値の返却のみを行う式
    変数や定数の値を返却する式
    リテラル式 ── 値をプログラムに直接表記する式
    メンバー式 ── 型のメンバーにアクセスする式
    クロージャ式 ── 呼び出し可能な処理を定義する式
    演算を行う式
    算術演算子 ── 算術を行う演算子
    符号演算子 ── 数値の符号を指定する演算子
    否定演算子 ── 論理値の反転を行う演算子
    処理を呼び出す式
    関数を呼び出す式
    イニシャライザを呼び出す式
    ▼2.5
    まとめ
    □第3章 基本的な型
    ▼3.1
    型による値の表現
    ▼3.2
    Bool型 ── 真理値を表す型
    真理値リテラル
    論理演算
    否定
    論理積
    論理和
    ▼3.3
    数値型 ── 数値を表す型
    数値リテラル
    数値型の種類
    整数型
    浮動小数点型
    数値型どうしの相互変換
    数値型の操作
    比較
    算術
    Foundationによる高度な操作
    ▼3.4
    String型 ── 文字列を表す型
    文字列リテラル
    特殊文字の表現
    文字列リテラル内での値の展開
    複数行の文字列リテラル
    数値型との相互変換
    String型の操作
    比較
    結合
    Foundationによる高度な操作
    ▼3.5
    Optional型 ── 値があるか空のいずれかを表す型
    Optional型の2つのケース ── 値の不在を表す.noneと、値の存在を表す.some
    型推論
    Optional型の値の生成
    nilリテラルの代入による.noneの生成
    イニシャライザによる.someの生成
    値の代入による.someの生成
    Optional型のアンラップ ── 値の取り出し
    オプショナルバインディング ── if文による値の取り出し
    ??演算子 ── 値が存在しない場合のデフォルト値を指定する演算子
    強制アンラップ ── !演算子によるOptional型の値の取り出し
    オプショナルチェイン ── アンラップを伴わずに値のプロパティやメソッドにアクセス
    map(_:)メソッドとflatMap(_:)メソッド ── アンラップを伴わずに値の変換を行うメソッド
    暗黙的にアンラップされたOptional
    値の取り出し方法の使い分け
    ▼3.6
    Any型 ── 任意の型を表す型
    Any型への代入による型の損失
    ▼3.7
    タプル型 ── 複数の型をまとめる型
    要素へのアクセス
    インデックスによるアクセス
    要素名によるアクセス
    代入によるアクセス
    Void型 ── 空のタプル
    ▼3.8
    型のキャスト ── 別の型として扱う操作
    アップキャスト ── 上位の型として扱う操作
    ダウンキャスト ── 下位の型として扱う操作
    型の判定
    ▼3.9
    値の比較のためのプロトコル
    Equatableプロトコル ── 同値性を検証するためのプロトコル
    Comparableプロトコル ── 大小関係を検証するためのプロトコル
    ▼3.10
    まとめ
    □第4章 コレクションを表す型
    ▼4.1
    値の集まりの表現
    ▼4.2
    Array型 ── 配列を表す型
    配列リテラル
    型推論
    要素にできる型
    Array型の操作
    要素へのアクセス
    要素の更新、追加、結合、削除
    ▼4.3
    Dictionary型 ── 辞書を表す型
    辞書リテラル
    型推論
    キーと値にできる型
    Dictionary型の操作
    値へのアクセス
    値の更新、追加、削除
    ▼4.4
    範囲型 ── 範囲を表す型
    範囲演算子 ── 範囲を作る演算子
    ..<演算子 ── 末尾の値を含まない範囲を作る演算子
    ...演算子 ── 末尾の値を含む範囲を作る演算子
    型推論
    境界に使用可能な型
    範囲型の操作
    境界の値へのアクセス
    値が範囲に含まれるかどうかの判定
    ▼4.5
    コレクションとしてのString型
    Character型 ── 文字を表す型
    String.Index型 ── 文字列内の位置を表す型
    ▼4.6
    シーケンスとコレクションを扱うためのプロトコル
    Sequenceプロトコル ── 要素への順次アクセス
    forEach(_:)メソッド ── 要素に対して順次アクセスする
    filter(_:)メソッド ── 要素を絞り込む
    map(_:)メソッド ── 要素を変換する
    flatMap(_:)メソッド ── 要素をシーケンスに変換し、それを1つのシーケンスに連結する
    compactMap(_:)メソッド ── 要素を、失敗する可能性のある処理を用いて変換する
    reduce(_:_:)メソッド ── 要素を1つの値にまとめる
    Collectionプロトコル ── サブスクリプトによる要素へのアクセス
    ▼4.7
    まとめ
    □第5章 制御構文
    ▼5.1
    プログラムの実行フローの制御
    ▼5.2
    条件分岐
    if文 ── 条件の成否による分岐
    条件式に使用できる型
    else節 ── 条件不成立時の処理
    if-let文 ── 値の有無による分岐
    guard文 ── 条件不成立時に早期退出する分岐
    guard文のスコープ外への退出の強制
    guard文で宣言された変数や定数へのアクセス
    if文との使い分け
    switch文 ── 複数のパターンマッチによる分岐
    ケースの網羅性チェック
    defaultキーワード ── デフォルトケースによる網羅性の保証
    whereキーワード ── ケースにマッチする条件の追加
    break文 ── ケースの実行の中断
    ラベル ── break文の制御対象の指定
    fallthrough文 ── switch文の次のケースへの制御の移動
    ▼5.3
    繰り返し
    繰り返し文の種類
    for-in文 ── シーケンスの要素の列挙
    while文 ── 継続条件による繰り返し
    repeat-while文 ── 初回実行を保証する繰り返し
    実行文の中断
    break文 ── 繰り返しの終了
    continue文 ── 繰り返しの継続
    ラベル ── break文やcontinue文の制御対象の指定
    ▼5.4
    遅延実行
    defer文 ── スコープ退出時の処理
    ▼5.5
    パターンマッチ ── 値の構造や性質による評価
    パターンの種類
    式パターン ── ~=演算子による評価
    バリューバインディングパターン ── 値の代入を伴う評価
    オプショナルパターン ── Optional型の値の有無を評価
    列挙型ケースパターン ── ケースとの一致の評価
    is演算子による型キャスティングパターン ── 型の判定による評価
    as演算子による型キャスティングパターン ── 型のキャストによる評価
    パターンマッチが使える場所
    if文
    guard文
    for-in文
    while文
    do文のcatch節
    ▼5.6
    まとめ
    □第6章 関数とクロージャ
    ▼6.1
    処理の再利用
    ▼6.2
    関数 ── 名前を持ったひとまとまりの処理
    定義方法
    実行方法
    引数
    仮引数と実引数
    外部引数名と内部引数名
    外部引数名の省略
    デフォルト引数 ── 引数のデフォルト値
    インアウト引数 ── 関数外に変更を共有する引数
    可変長引数 ── 任意の個数の値を受け取る引数
    コンパイラによる引数チェック
    戻り値
    戻り値がない関数
    コンパイラによる戻り値チェック
    暗黙的なreturn
    ▼6.3
    クロージャ ── スコープ内の変数や定数を保持したひとまとまりの処理
    定義方法
    型推論
    実行方法
    引数
    簡略引数名 ── 引数名の省略
    戻り値
    クロージャによる変数と定数のキャプチャ
    引数としてのクロージャ
    属性の指定方法
    escaping属性 ── 非同期的に実行されるクロージャ
    autoclosure属性 ── クロージャを用いた遅延評価
    トレイリングクロージャ ── 引数のクロージャを()の外に記述する記法
    クロージャとしての関数
    クロージャ式を利用した変数や定数の初期化
    ▼6.4
    まとめ
    □第7章 型の構成要素 ── プロパティ、イニシャライザ、メソッド
    ▼7.1
    型に共通するもの
    ▼7.2
    型の基本
    定義方法
    インスタンス化の方法
    型の内部でのインスタンスへのアクセス
    型の内部での型自身へのアクセス
    ▼7.3
    プロパティ ── 型に紐付いた値
    定義方法
    紐付く対象による分類
    インスタンスプロパティ ── 型のインスタンスに紐付くプロパティ
    スタティックプロパティ ── 型自身に紐付くプロパティ
    ストアドプロパティ ── 値を保持するプロパティ
    プロパティオブザーバ ── ストアドプロパティの変更の監視
    レイジーストアドプロパティ ── アクセス時まで初期化を遅延させるプロパティ
    コンピューテッドプロパティ ── 値を保持せずに算出するプロパティ
    ゲッタ ── 値の返却
    セッタ ── 値の更新
    セッタの省略
    ▼7.4
    イニシャライザ ── インスタンスの初期化処理
    定義方法
    失敗可能イニシャライザ ── 初期化の失敗を考慮したイニシャライザ
    コンパイラによる初期化チェック
    ▼7.5
    メソッド ── 型に紐付いた関数
    定義方法
    紐付く対象による分類
    インスタンスメソッド ── 型のインスタンスに紐付くメソッド
    スタティックメソッド ── 型自身に紐付くメソッド
    オーバーロード ── 型が異なる同名のメソッドの定義
    引数によるオーバーロード
    戻り値によるオーバーロード
    ▼7.6
    サブスクリプト ── コレクションの要素へのアクセス
    定義方法
    セッタの省略
    オーバーロード ── 型が異なるサブスクリプトの定義
    ▼7.7
    エクステンション ── 型の拡張
    定義方法
    メソッドの追加
    コンピューテッドプロパティの追加
    イニシャライザの追加
    ▼7.8
    型のネスト
    定義方法
    ▼7.9
    まとめ
    □第8章 型の種類 ── 構造体、クラス、列挙型
    ▼8.1
    型の種類を使い分ける目的
    ▼8.2
    値の受け渡し方法による分類
    値型 ── 値を表す型
    変数と定数への代入とコピー
    mutatingキーワード ── 自身の値の変更を宣言するキーワード
    参照型 ── 値への参照を表す型
    値の変更の共有
    値型と参照型の使い分け
    ▼8.3
    構造体 ── 値型のデータ構造
    定義方法
    ストアドプロパティの変更による値の変更
    定数のストアドプロパティは変更できない
    メソッド内のストアドプロパティの変更にはmutatingキーワードが必要
    メンバーワイズイニシャライザ ── デフォルトで用意されるイニシャライザ
    メンバーワイズイニシャライザのデフォルト引数
    ▼8.4
    クラス ── 参照型のデータ構造
    定義方法
    継承 ── 型の構成要素の引き継ぎ
    定義方法
    オーバーライド ── 型の構成要素の再定義
    finalキーワード ── 継承とオーバーライドの禁止
    クラスに紐付く要素
    クラスプロパティ ── クラス自身に紐付くプロパティ
    クラスメソッド ── クラス自身に紐付くメソッド
    スタティックプロパティ、スタティックメソッドとの使い分け
    イニシャライザの種類と初期化のプロセス
    指定イニシャライザ ── 主となるイニシャライザ
    コンビニエンスイニシャライザ ── 指定イニシャライザをラップするイニシャライザ
    2段階初期化
    デフォルトイニシャライザ ── プロパティの初期化が不要な場合に定義されるイニシャライザ
    クラスのメモリ管理
    デイニシャライザ ── インスタンスの終了処理
    値の比較と参照の比較
    ▼8.5
    列挙型 ── 複数の識別子をまとめる型
    定義方法
    ローバリュー ── 実体の定義
    ローバリューのデフォルト値
    連想値 ── 付加情報の付与
    CaseIterableプロトコル ── 要素列挙のプロトコル
    コンパイラによるallCasesプロパティのコードの自動生成
    allCasesプロパティのコードが自動生成されない条件
    ▼8.6
    まとめ
    □第9章 プロトコル ── 型のインタフェースの定義
    ▼9.1
    型のインタフェースを定義する目的
    ▼9.2
    プロトコルの基本
    定義方法
    準拠方法
    クラス継承時の準拠方法
    エクステンションによる準拠方法
    コンパイラによる準拠チェック
    利用方法
    プロトコルコンポジション ── 複数のプロトコルの組み合わせ
    ▼9.3
    プロトコルを構成する要素
    プロパティ
    定義方法
    ゲッタの実装
    セッタの実装
    メソッド
    定義方法
    メソッドの実装
    mutatingキーワード ── 値型のインスタンスの変更を宣言するキーワード
    連想型 ── プロトコルの準拠時に指定可能な型
    定義方法
    型制約の追加
    デフォルトの型の指定
    プロトコルの継承
    クラス専用プロトコル
    ▼9.4
    プロトコルエクステンション ── プロトコルの実装の定義
    定義方法
    デフォルト実装による実装の任意化
    型制約の追加
    ▼9.5
    まとめ
    □第10章 ジェネリクス ── 汎用的な関数と型
    ▼10.1
    汎用的なプログラム
    ▼10.2
    ジェネリクスの基本
    定義方法
    特殊化方法
    仮型引数と実型引数
    汎用性と型安全性の両立
    Any型との比較
    ▼10.3
    ジェネリック関数 ── 汎用的な関数
    定義方法
    特殊化方法
    引数からの型推論による特殊化
    戻り値からの型推論による特殊化
    型制約 ── 型引数に対する制約
    スーパークラスや準拠するプロトコルに対する制約
    連想型のスーパークラスや準拠するプロトコルに対する制約
    型どうしの一致を要求する制約
    ▼10.4
    ジェネリック型 ── 汎用的な型
    定義方法
    特殊化方法
    型引数の指定による特殊化
    型推論による特殊化
    型制約 ── 型引数に対する制約
    型の定義で使用できる型制約
    ジェネリック型の型制約付きエクステンション
    プロトコルへの条件付き準拠
    ▼10.5
    まとめ
    □第11章 モジュール ── 配布可能なプログラムの単位
    ▼11.1
    再利用可能かつ配布可能なプログラム
    ▼11.2
    モジュールの作成と利用
    ビルドターゲットの定義
    ビルドターゲットの依存関係の定義
    外部パッケージの利用
    ▼11.3
    名前空間 ── 名前が一意となる範囲
    import文 ── モジュールのインポートを行う文
    名前の衝突の回避
    ▼11.4
    アクセスコントロール ── 外部からの使用の制限
    アクセスレベル ── 公開範囲の分類
    指定方法
    デフォルトのアクセスレベル
    エクステンションのアクセスレベル
    モジュールヘッダ ── モジュール外から参照可能なインタフェース
    閲覧方法
    モジュールヘッダに記述される情報
    ドキュメントコメント ── コードの意図や使用方法の説明
    ▼11.5
    まとめ
    □第12章 型の設計指針
    ▼12.1
    クラスに対する構造体の優位性
    参照型のクラスがもたらすバグ
    値型の構造体がもたらす安全性
    コピーオンライト ── 構造体の不要なコピーを発生させない最適化
    クラスを利用するべきとき
    参照を共有する
    インスタンスのライフサイクルに合わせて処理を実行する
    ▼12.2
    クラスの継承に対するプロトコルの優位性
    クラスの継承がもたらす期待しない挙動
    プロトコルによるクラスの継承の問題点の克服
    クラスの継承を利用するべきとき
    複数の型の間でストアドプロパティの実装を共有する
    ▼12.3
    オプショナル型の利用指針
    Optional型を利用するべきとき
    値の不在が想定される
    ただし、必然性のないOptional型のプロパティは排除する
    暗黙的にアンラップされたOptional型を利用するべきとき
    初期化時にのみ値が決まっていない
    サブクラスの初期化より前にスーパークラスを初期化する
    Optional型と暗黙的にアンラップされたOptional型を比較検討するべきとき
    ▼12.4
    まとめ
    □第13章 イベント通知
    ▼13.1
    Swiftにおけるイベント通知のパターン
    ▼13.2
    デリゲートパターン ── 別オブジェクトへの処理の委譲
    実装方法
    命名規則
    弱参照による循環参照への対処
    利用するべきとき
    2つのオブジェクト間で多くの種類のイベント通知を行う
    外部からのカスタマイズを前提としたオブジェクトを設計する
    ▼13.3
    クロージャ ── 別オブジェクトへのコールバック時の処理の登録
    実装方法
    キャプチャリスト ── キャプチャ時の参照方法の制御
    weakキーワード ── メモリ解放を想定した弱参照
    unownedキーワード ── メモリ解放を想定しない弱参照
    キャプチャリストの使い分け
    escaping属性によるselfキーワードの必須化
    typealiasキーワードによる複雑なクロージャの型への型エイリアス
    利用するべきとき
    処理の実行とコールバックを同じ箇所に記述する
    ▼13.4
    オブザーバパターン ── 状態変化の別オブジェクトへの通知
    実装方法
    Selector型 ── メソッドを参照するための型
    利用するべきとき
    1対多のイベント通知を行う
    ▼13.5
    まとめ
    □第14章 非同期処理
    ▼14.1
    Swiftにおける非同期処理
    ▼14.2
    GCD ── 非同期処理のための低レベルAPI群
    実装方法
    ディスパッチキューの種類
    既存のディスパッチキューの取得
    新規のディスパッチキューの生成
    ディスパッチキューへのタスクの追加
    利用するべきとき
    シンプルな非同期処理を実装する
    ▼14.3
    Operation、OperationQueueクラス ── 非同期処理を抽象化したクラス
    実装方法
    タスクの定義
    キューの生成
    キューへのタスクの追加
    タスクのキャンセル
    タスクの依存関係の設定
    利用するべきとき
    複雑な非同期処理を実装する
    ▼14.4
    Threadクラス ── 手動でのスレッド管理
    実装方法
    利用するべきとき
    特になし
    ▼14.5
    非同期処理の結果のイベント通知
    ▼14.6
    まとめ
    □第15章 エラー処理
    ▼15.1
    Swiftにおけるエラー処理
    ▼15.2
    Optional型によるエラー処理 ── 値の有無による成功、失敗の表現
    実装方法
    利用するべきとき
    値の有無だけで結果を十分に表せる
    ▼15.3
    Result型によるエラー処理 ── 列挙型による成功、失敗の表現
    実装方法
    利用するべきとき
    エラーの詳細を提供する
    成功か失敗のいずれかであることを保証する
    非同期処理のエラーを扱う
    ▼15.4
    do-catch文によるエラー処理 ── Swift標準のエラー処理
    実装方法
    Errorプロトコル ── エラー情報を表現するプロトコル
    throwsキーワード ── エラーを発生させる可能性のある処理の定義
    rethrowsキーワード ── 引数のクロージャが発生させるエラーの呼び出し元への伝播
    tryキーワード ── エラーを発生させる可能性のある処理の実行
    try!キーワード ── エラーを無視した処理の実行
    try?キーワード ── エラーをOptional型で表す処理の実行
    defer文によるエラーの有無に関わらない処理の実行
    利用するべきとき
    エラーの詳細を提供する
    成功か失敗のいずれかであることを保証する
    連続した処理のエラーをまとめて扱う
    エラー処理を強制する
    ▼15.5
    fatalError(_:)関数によるプログラムの終了 ── 実行が想定されていない箇所の宣言
    実装方法
    Never型 ── 値を返さないことを示す型
    利用するべきとき
    想定外の状況ではプログラムを終了させる
    ▼15.6
    アサーションによるデバッグ時のプログラムの終了 ── 満たすべき条件の宣言
    実装方法
    assert(_:_:)関数 ── 条件を満たさない場合に終了するアサーション
    assertionFailure(_:)関数 ── 必ず終了するアサーション
    コンパイルの最適化レベル ── デバッグとリリースの切り替え
    利用するべきとき
    デバッグ時に想定外の状況を検出する
    リリース時は想定外の状況でもプログラムの実行を継続する
    ▼15.7
    エラー処理の使い分け
    ▼15.8
    まとめ
    □第16章 Webサービスとの連携
    ▼16.1
    連携のための取り決め
    ▼16.2
    データの取り扱い
    Data型 ── バイト列を表す型
    エンコードとデコード
    JSONEncoderクラス、JSONDecoderクラス ── JSONをエンコード、デコードする
    Encodable、Decodable、Codableプロトコル ── 型をエンコード、デコードに対応させる
    コンパイラによるコードの自動生成
    ▼16.3
    HTTPによるWebサービスとの通信
    URLRequest型 ── リクエスト情報の表現
    HTTPURLResponse型 ── HTTPレスポンスのメタデータ
    URLSessionクラス ── URL経由でのデータの送信、取得
    3種類のタスク ── 基本、アップロード用、ダウンロード用
    タスクの実行
    ▼16.4
    まとめ
    □第17章 ユニットテスト
    ▼17.1
    ユニットテストの目的
    ▼17.2
    ユニットテストのセットアップ
    テストターゲットの構成
    テストの実行
    Linux用のテストの列挙
    ▼17.3
    テストコードの基本
    定義方法
    テスト対象のモジュールのインポート
    アサーション ── 値の検証
    単一の式を評価するアサーション
    2つの式を比較するアサーション
    エラーの有無を評価するアサーション
    無条件に失敗するアサーション
    ▼17.4
    テストケース ── テストをまとめる
    テストの事前処理と事後処理
    setUp()メソッド ── テストの事前処理を行うメソッド
    tearDown()メソッド ── テストの事後処理を行うメソッド
    テストの実行のコントロール
    失敗時のテストの中断
    エラーによるテストの中断
    非同期処理の待ち合わせ
    ▼17.5
    スタブ ── テスト対象への入力を置き換える
    プロトコルによる実装の差し替え
    依存先のプロトコル化
    プロトコルに準拠したスタブの実装
    テストにおけるスタブの使用
    ▼17.6
    まとめ
    □第18章 実践的なSwiftアプリケーション ── Web APIクライアントを作ろう
    ▼18.1
    GitHub Search APIクライアントを作ろう
    ▼18.2
    実装の下準備
    API仕様と動作の確認
    コマンドラインアプリケーションのパッケージの作成
    実装方針の確認
    ▼18.3
    API仕様のモデル化
    レスポンス ── サーバ上のリソースの表現
    構造体の定義
    JSONから構造体へのマッピング
    JSONから構造体へのマッピングに対するテスト
    ジェネリック型による検索結果の表現
    JSONからジェネリック型へのマッピングに対するテスト
    エラー ── APIクライアントで発生するエラーの表現
    エラーの分類
    エラーを表すレスポンスのモデル化
    JSONからエラーの型へのマッピングに対するテスト
    リクエスト ── サーバに対する要求の表現
    ベースURLとパスの定義
    HTTPメソッドの定義
    パラメータの定義
    リクエストとレスポンスの紐付け
    リポジトリ検索APIの実装
    ▼18.4
    APIクライアント ── Web API呼び出しの抽象化
    API仕様をモデル化した型とFoundationの型の変換
    リクエストを表す型のURLRequest型へのマッピング
    Data型とHTTPURLResponse型のレスポンスを表す型へのマッピング
    APIクライアントの構成要素間の接続
    HTTPクライアントの実装
    APIクライアントのインタフェースの定義
    HTTPリクエストの送信
    HTTPレスポンスの処理
    通信結果の処理に対するテスト
    ▼18.5
    プログラムの実行
    エントリポイントの準備
    実行ファイルのビルドと実行
    ▼18.6
    まとめ
    あとがき
    索引
    著者プロフィール

    ↓全て表示↑少なく表示
    Users Voice
    勉強になります!読んでいても楽しいです。他言語やってた方かSwiftかじってる方向けになります。初めての方はオススメしません。 (参考:YahooShopping)

    ↓全て表示 ↑少なく表示
    勉強になります!読んでいても楽しいです。他言語やってた方かSwiftかじってる方向けになります。初めての方はオススメしません。 (参考:YahooShopping)

    ↓全て表示 ↑少なく表示
    内容サンプル

    (引用元Amazon)

     
      

    詳解 Swift 第5版

    詳解 Swift 第5版
    (著)荻原 剛志
    発売日 2019/11/15
    総合評価
    (4)
    (2022/08/07 12:20時点)
    AppleデベロッパーはSwiftUIに備えよ!!

    Swift 5の新機能に加えて、SwiftUIの根幹に関わるプロパティラッパ、関数ビルダについても徹底解説。
    iPhone、iPad、macOS開発者、必読の一冊!!


    SwiftはiPhone、iPad、MacなどのAppleプロダクト向けのプログラミング言語として2014年に登場し、言語仕様と実装の改良が進められてきました。今年の春に発表されたSwift 5 ではコンパイル済みコードの互換性の確保(ABI安定性)が主要なテーマとされ、言語仕様自体に大幅な変更はないものと思われていました。
    ところが、6月に開催されたWWDC (Worldwide Developers Conference) で状況は一変、開発者コミュニティは大騒ぎとなります。
    SwiftUIが突然発表されたのです。WWDCのライブ映像を見ていた世界中の開発がその記述方法にショックを受けました。『これがSwiftだって』?
    SwiftUIは宣言的な記述によってGUIを構築できるフレームワークです。Apple社が丁寧なチュートリアルを用意していたこともあって、SwiftUIは比較的短期間のうちに認知されるようになりました。一方、その記法(埋め込みDSL記法)の技術的側面に関して、まとまったリファレンスは未だ存在しないようです。
    本書ではそのような部分にまで踏み込んで、実際に動作するサンプルコードをもとにSwiftUIの記法の背景について解説を試みています。

    -「はじめに」より

    目次
    CHAPTER01 Swiftでプログラミング
    CHAPTER02 関数
    CHAPTER03 構造体
    CHAPTER04 オプショナル
    CHAPTER05 プロトコル
    CHAPTER06 基本的なデータ型
    CHAPTER07 パターン
    CHAPTER08 クラスと継承
    CHAPTER09 メモリ管理
    CHAPTER10 拡張
    CHAPTER11 エラー処理
    CHAPTER12 クロージャ
    CHAPTER13 ジェネリクス
    CHAPTER14 メモリへのアクセスとポインタ
    CHAPTER15 カスタム属性とDSL記法
    CHAPTER16 GUIとの連携


    ↓全て表示↑少なく表示
     
    内容サンプル

    (引用元Amazon)

     
    目次
    目次
    CHAPTER01 Swiftでプログラミング
    CHAPTER02 関数
    CHAPTER03 構造体
    CHAPTER04 オプショナル
    CHAPTER05 プロトコル
    CHAPTER06 基本的なデータ型
    CHAPTER07 パターン
    CHAPTER08 クラスと継承
    CHAPTER09 メモリ管理
    CHAPTER10 拡張
    CHAPTER11 エラー処理
    CHAPTER12 クロージャ
    CHAPTER13 ジェネリクス
    CHAPTER14 メモリへのアクセスとポインタ
    CHAPTER15 カスタム属性とDSL記法
    CHAPTER16 GUIとの連携

    ↓全て表示↑少なく表示
    Users Voice
    初心者には向かない内容ですが、プログラム経験者にはおすすめできる内容です。 非常に細かく記述されていて、非常に分かりやすいです。 しかし、本書だけではアプリの作成は厳しいと思います。 簡単なものでいいので、サンプルプログラムが充実したものと併用して使用される事をおすすめします。 (参考:YahooShopping)

    ↓全て表示 ↑少なく表示
    本書にも書いてある通り、この本を読んだからといってアプリを作れるようになるわけではありません。
    あくまでSwiftという言語の説明が全てなので、はじめてアプリを作ってみたいという入門者の方がこの本を読み始めると、何を言っているのかわからない、またはアプリ開発が嫌いになるかもしれません。
    ただ、別の本などを用いてアプリを幾つか作ってみて、その上で更にSwiftを学んでみようと思うのであれば素晴らしい本だと思うのでおすすめします。 (参考:honto)

    ↓全て表示 ↑少なく表示
    内容サンプル

    (引用元Amazon)

     
    著者略歴

    著:荻原 剛志
    大阪大学大学院基礎工学研究科修了。工学博士。 現在、京都産業大学情報理工学部教授。 ソフトウェア開発手法に関する研究、深層暗号に関する研究を行う。 ToyViewerなど、国際的に定評のある macOS用ソフトウェアの開発者でもある。 著書に「詳解Objective-C 2.0 第3版」(SBクリエイティブ刊)など。 Apple社が変換辞書の「荻原」の間違いを長年放置しているのが不満。 信州生まれである。


    ↓全て表示↑少なく表示
    詳解 Swift 第5版
    発売日 2019/11/15
    (2022/08/07 12:20時点)

      

     

    SwiftUI開発対応の参考書

    SwiftUIはiOSアプリのUI開発向けの新たなフレームワーク。

    2019年に発表・実用化され、従来よりも圧倒的に書きやすく、調整しやすく、GUIで、マルチデバイス対応で、実装が可能になっています。

    まだ、一部UIパーツの不足や、対応OSがiOS13以降のみなどの制限がありますが、当然今後はSwiftUIでのアプリ開発が加速するのは間違いないです。

    これからはじめるならむしろ絶好のタイミング、SwiftUIありきで学びましょう。以下がSwiftUIが学べる書籍です。

    詳細! SwiftUI iPhoneアプリ開発入門ノート iOS 13 + Xcode11対応

    詳細! SwiftUI iPhoneアプリ開発入門ノート iOS 13 + Xcode11対応
    (著)大重 美幸
    発売日 2019/12/21
    総合評価
    (4.1)
    (2022/08/05 12:20時点)
    ※この商品は固定レイアウトで作成されており、タブレットなど大きいディスプレイを備えた端末で読むことに適しています。
    また、文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。
    お使いの端末で無料サンプルをお試しいただいた上でのご購入をお願いいたします。

    越えて行こう!SwiftUIで作る新しい世界

    SwiftUIは2019年6月にサンノゼで開催されたWWDC(Appleデベロッパカンファレンス)で発表されたばかりの注目のフレームワークです。
    これまで、MacBookやiPhoneなどのApple製品のアプリのUI(ボタンなど画面操作のユーザーインターフェイス)は、AppKit、UIKit等のフレームワークで開発されてきました。
    まったく新しいSwiftUIフレームワークは、これらを表面的に置き換えていくという話なので、そのインパクトの大きさは想像以上です。

    しかし考えてみれば、改良を重ねているとは言えAppKitはiPhoneが生まれる前の時代から使われてきたテクノロジーであり、iPhoneのiOSもすでにバージョン13を数えます。
    iPhone、iPad、Apple Watch、AirPods、噂されるARメガネやAppleカーとデバイスの形態が大きく変化しているときに、その変化に柔軟かつスピーディーに対応していくためにUIフレームワークを刷新しようという決断はむしろ避けられない流れであり、その先を見据えた計り知れないパワーさえも感じます。

    それを目の当たりにしたならば、今までやってきた人もこれから始める人もうかうかしている暇はありません。
    今がチャンスであり、ピンチです。
    SwiftUIを誰よりも早く始めるチャンスであり、取りこぼすピンチでもあるのです。
    SwiftUIは登場したばかりでまだまだ不足なところがありますが、瞬く間に進化を遂げることでしょう。
    今がチャンスです。
    低いハードルから段々高くしていく戦法で挑みましょう。
    未来を始める準備は整っています。
    来たるべき新しい世界をSwiftUIで越えていきましょう!

    ↓全て表示↑少なく表示
     
    内容サンプル

    (引用元Amazon)

     
    内容サンプル

    (引用元Amazon)

     
      

    SwiftUI 徹底入門

    SwiftUI 徹底入門
    (著)金田 浩明
    発売日 2019/12/21
    総合評価
    (4.1)
    (2022/07/19 12:09時点)
    iOS、macOSののアプリ開発を根底から変えるSwiftUIとは何か

    SwiftUIはXcode 11から利用可能になった、iOS、macOSアプリケーションのUI作成のための新しいフレームワークです。Swift 5.1で導入された機能をフルに使って、ビューの配置を直感的に記述できるとともに、イベント処理の方法も根底から変更されています。また、Xcode 11では、新しいプレビュー機能により、エミュレータを起動しなくても動作確認ができたり、ビューの属性を変更するとそれがコードにされるなど、さまざまな改良が加えられています。
    本書では、SwiftUIの基本から、アプリケーション開発の実際まで、サンプルを用いながらわかりやすく解説していきます。

    対象読者:
    ・Swiftプログラミングの基礎は理解している人
    ・UIKitによるiPhoneアプリケーション開発の経験者

    目次:
    Chapter01 SwiftUIの概要
    Chapter02 SwiftUIのビューを理解する
    Chapter03 レイアウトの作り方
    Chapter04 SwiftUIにおけるイベント処理の基礎知識
    Chapter05 リストビューとスクロールビュー
    Chapter06 図形の描画とカスタムビュー
    Chapter07 ナビゲーション・シート・タブによる画面の切り替え
    Chapter08 アラートとアクションシート
    Chapter09 ビューアニメーションとエフェクト
    Chapter10 状態とデータフロー
    Chapter11 イベントとジェスチャー
    Chapter12 UIKitを使う
    Chapter13 CoreDataを使う
    Chapter14 Advanced SwiftUI

    ↓全て表示↑少なく表示
     
    内容サンプル

    (引用元Amazon)

     
    目次
    目次:
    Chapter01 SwiftUIの概要
    Chapter02 SwiftUIのビューを理解する
    Chapter03 レイアウトの作り方
    Chapter04 SwiftUIにおけるイベント処理の基礎知識
    Chapter05 リストビューとスクロールビュー
    Chapter06 図形の描画とカスタムビュー
    Chapter07 ナビゲーション・シート・タブによる画面の切り替え
    Chapter08 アラートとアクションシート
    Chapter09 ビューアニメーションとエフェクト
    Chapter10 状態とデータフロー
    Chapter11 イベントとジェスチャー
    Chapter12 UIKitを使う
    Chapter13 CoreDataを使う
    Chapter14 Advanced SwiftUI

    ↓全て表示↑少なく表示
    Users Voice
    いろいろな事例が載っているので辞書的な使い方しています。 全部覚えたらStoryboardで描くより楽になるかもしれませんね。 (参考:YahooShopping)

    ↓全て表示 ↑少なく表示
    今まで読んだ中でベストです。具体的に細かく記述されているので、知りたかった情報がたくさん見つかり嬉しかったです! (参考:YahooShopping)

    ↓全て表示 ↑少なく表示
    内容サンプル

    (引用元Amazon)

     
    著者略歴

    著:金田 浩明
    印刷会社勤務時代にApple Power Macintoshと出会いプログラム開発を始める。iOSやAndroidを はじめとするモバイルアプリケーション開発のスペシャリストとして活躍。ベンチャー企業を 経て現在は外資系IT企業にて業界の第一線で活躍中。Apple Watchの技術者向け勉強会を主催 したりiOS勉強会で登壇するなど、コミュニティ活動も積極的に行っている。著書に『はじめて のAndroidプログラミング」』SBクリエイティブ)がある。


    ↓全て表示↑少なく表示
    SwiftUI 徹底入門
    発売日 2019/12/21
    (2022/07/19 12:09時点)

      

    iOS/macOS UIフレームワーク SwiftUIプログラミング

    iOS/macOS UIフレームワーク SwiftUIプログラミング
    (著)津耶乃, 掌田
    発売日 2020/05/26
    総合評価
    (3.4)
    (2022/07/21 12:20時点)
    ■本書の特徴

    従来のXcode+Interface Builderに代わる、iOS/macOS用の新しいユーザーインタフェース開発用フレームワーク「SwiftUI」の使い方を、188のサンプルプログラムを用いて学びます。

    プロトコルと構造体を駆使するSwift独自のオブジェクト指向も、ハンズオン形式で書いて実行する内に納得!

    Swiftの文法知識に不安がある人も、巻末の「追補:Swift基礎文法入門」で復習すれば、安心です!

    お洒落でモダーンなiPhoneアプリを効率良く開発しましょう!

    ・macOS Catalina 10.15以上 + Xcode 11以上対応

    ■主な目次構成

    1章 iOSアプリとSwiftUIの基本
    第2章 Text、TextField、Buttonをマスターする
    第3章 コントロールとコンテナ
    第4章 シェイプによるグラフィック
    第5章 より高度な表現とデータアクセス
    第6章 カスタム部品、プレビュー、UIテスト
    追補:Swift基礎文法入門
     
    内容サンプル

    (引用元楽天Books)

     
    目次
    1章 iOSアプリとSwiftUIの基本
    第2章 Text、TextField、Buttonをマスターする
    第3章 コントロールとコンテナ
    第4章 シェイプによるグラフィック
    第5章 より高度な表現とデータアクセス
    第6章 カスタム部品、プレビュー、UIテスト
    追補:Swift基礎文法入門
    内容サンプル

    (引用元楽天Books)

     
    著者略歴

    著:掌田 津耶乃
    日本初のMac専門月刊誌「Mac+」の頃から主にMac系雑誌に寄稿する。ハイパーカードの登場により「ビギナーのためのプログラミング」に開眼。以後、Mac、Windows、Web、Android、iPhoneとあらゆるプラットフォームのプログラミングビギナーに向けた書籍を執筆し続ける。


      

    SwiftUIではじめるiPhoneアプリプログラミング入門

    SwiftUIは、iOSアプリやmacOSアプリなどAppleデバイス用プログラム開発用のSwift言語によるフレームワークです。
    それまでのUIkitフレームワークを置き換えるべく2019年10月にリリースされました。
    キャンバス上のプレビューを活用しながらこれまで以上にシンプルなプログラミングが可能です。
    本書は、そのSwiftUIを使用してiOSアプリを作成する方法を学ぶための入門書です。
    SwiftUIを使用するにはSwift言語の基礎知識が必要ですが、Chap2でSwiftUIを扱うために不可欠なクロージャや構造体などSwift言語のポイントを解説します。
    そのため、JavaやPythonなど他の言語の経験者の方もSwift Playgroundsなどの学習アプリやデベロッパードキュメントと併用することで効率的に学習が進められるようになっています。
    (SwiftUIの操作環境: macOS 10.15(Catalina)以降、Xcode バージョン11以降)

    構成:
    Part I まずは基礎固め
    Chapter1 SwiftUIによるアプリ開発について
    Chapter2 SwiftUIアプリを作成するためのSwift言語のポイント
    Chapter3 SwiftUIによるレイアウトの概要

    Part II アプリをつくってみよう
    Chapter4 おみくじアプリをつくってみよう!
    Chapter5 割り勘を計算するアプリをつくろう!
    Chapter6 誕生日リマインダー・アプリをつくろう!
    Chapter7 スライドショー・アプリをつくろう!
    Chapter8 イメージビューア・アプリをつくろう!
    Chapter9 ドラッグで自由に描けるお絵かきアプリをつくろう!
    Chapter10 YouTube動画を検索するアプリをつくろう!

    JavaやPythonなど、オーソドックスな言語のプログラミング経験があれば、読みこなせるようにSwift言語のポイントも解説。とにかくつくってみたい! という前向きな方に最適です。自宅時間を利用してiPhoneアプリプログラミングを習得したい人には最適な参考書です。

    ↓全て表示↑少なく表示
     
    内容サンプル

    (引用元楽天Books)

     
    目次
    構成:
    Part I まずは基礎固め
    Chapter1 SwiftUIによるアプリ開発について
    Chapter2 SwiftUIアプリを作成するためのSwift言語のポイント
    Chapter3 SwiftUIによるレイアウトの概要
    Part II アプリをつくってみよう
    Chapter4 おみくじアプリをつくってみよう!
    Chapter5 割り勘を計算するアプリをつくろう!
    Chapter6 誕生日リマインダー・アプリをつくろう!
    Chapter7 スライドショー・アプリをつくろう!
    Chapter8 イメージビューア・アプリをつくろう!
    Chapter9 ドラッグで自由に描けるお絵かきアプリをつくろう!
    Chapter10 YouTube動画を検索するアプリをつくろう!

    ↓全て表示↑少なく表示
    Users Voice
    MacBook Air購入後にアプリ開発をしたくなり購入しました。 初学者は何冊も購入しがちであるが、一冊を何回か試す方が結果良いと思う。 途中でつまづくことも多いが、時間をかけて読み進めることがなにより肝心と思います お試しあれ (参考:YahooShopping)

    ↓全て表示 ↑少なく表示
    内容サンプル

    (引用元楽天Books)

     
    著者略歴
    大津真(オオツマコト)
    東京都生まれ。早稲田大学理工学部卒業後、外資系コンピューターメーカーにSEとして8年間勤務。その後はフリーランスのプログラマーおよびテクニカルライターとして活動(本データはこの書籍が刊行された当時に掲載されていたものです)

      

    Swift学習書「Kindle Unlmited 読み放題 人気ランキング」

    「Kindle Unlimited」は、Amazonの定額本読み放題サービス。

    実はそこにSwiftの本もそこそこあるんです。すなわち、定額で何冊も学習することも可能

    Kindle Unlimitedの主な特徴としては、おおよそ以下の通り。

    • 雑誌がかなり充実
    • 豊富なKindle個人出版本がほとんど読み放題
    • 最近は出版社単行本も対応増加

    個人的には雑誌が、IT系(CG WORLD等)、ガジェット系(Get Navi等)、ゲーム(ファミ通等)、など見たい雑誌が幅広く読めるのが大きな魅力。2冊以上読みたいものがあるだけで確実にお得です。

    また、30日無料体験も可能なので、体験期間を利用して無料で学習してみるのもお得な学習法です。

    以下がKindle Unlimited対応のSwiftの本人気ランキング(Best10)です。

    (2022/08/18 12:10 更新)
    Rank製品価格
    1
    【Swift】作って学ぼうiOSアプリ開発
    発売日 2021/01/27
    田中颯志
    Kindle Unlimited対象
    総合評価
    (4.3)
    1,035円
    2
    1,250円
    3
    1,250円
    4
    1,000円
    5
    1,000円
    6
    ゼロから始める超入門 はじめてのプログラミング AppleのSwiftでiPhoneアプリをいちから作ろう (Mac Fan Special...
    発売日 2017/09/26
    栗原 亮, 竹林 暁, 沼田 哲史, 松尾 高明 (マイナビ出版)
    Kindle Unlimited対象
    総合評価
    (3.8)
    462円
    1,700円
    1,738円
    1,624円
    7
    1,000円
    8
    650円
    9
    1,000円
    10
    1,250円

     

    関連:ゲーム開発ならUnityがおすすめ

    以上、iPhone(iOS)向けアプリ開発言語「Swift」の参考書紹介でした。

    Swiftでは、iOS向けのネイティブ実用アプリ作りが向いています。

    実用系ではなく、ゲームアプリケーション開発となると、さらに必要な知識・要素が増えるため、Unityを使ったエンジン開発が効率的。

    以下ではUnityの参考書も紹介しているので、あわせて覗いてみてください。

    いじょうでっす。

    コメント

    タイトルとURLをコピーしました