現場のためのSwift4 Swift4.1+Xcode9.3対応

概 要

Swiftは、2014年にリリースされてからiOSアプリの開発言語として多くの開発現場で使われています。本書は、Swift 4のプログラミング知識だけでなく、iOSアプリの開発現場では不可欠となる企画、設計、実装、運用の知識とスキルをあわせて解説した開発者のための教科書です。iOSアプリ開発者はもちろん、上のステージを目指す方、プロジェクトを取りまとめている立場の方が経験の浅い新人を育成するための参考書としても使えます。

著者 澤田孝志、今村哲也
価格 本体2980円(税別)
ISBN 978-4-7980-5442-1
発売日 2018/5/23
判型 A5
ページ数 560
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第1章 Swiftを使ったiOS アプリ開発の現状と今後の動向

1-1 なぜ、Objective-C ではなくSwift が採用されるのか

新しいプログラミング言語・Swift

Swiftを採用するメリット

Swiftを採用するデメリット

SwiftでしかiOSアプリを開発することはできない?

1-2 アプリファーストの時代

ウェブファーストではなく、アプリファーストの時代

アプリの方がより便利に使える

世界中にアピールができる

1-3 開発全体を知ることの重要性とメリット

プロジェクトの進行について

自分の担当だけ見るのではなく、視野を全体に広げるべき

アプリ開発の目的や企画の意図を知る

1-4 「コードを書くこと」だけが開発ではない

開発は目的を定めるところから始まっている

アプリをリリースした後も「開発」は続く

1-5 まとめ

第2章 企画・要件定義

2-1 目的を明確にする

「目的」を定める

目的を明確にするためのヒントは「問題を見つけて解決する」こと

2-2 調査・分析

類似アプリ・ウェブサービスを調べる

類似アプリ・ウェブサービスが「何をやっているのか」を分析する

なぜ「類似アプリが市場にない」のか、理由を考える

2-3 要件定義

要件定義とは

要件定義に欠かせない「ヒアリング作業」

要件定義の例

要件を「要件定義書」にまとめる

納品物を決める

2-4 ビジネスロードマップ策定

ビジネスロードマップとは

2-5 まとめ

第3章 設計

3-1 設計の必要性

設計は必要なのか

設計の種類

3-2 仕様策定

仕様とは

動作・稼働条件

開発言語

仕様はある程度の柔軟性が必要

3-3 画面設計

画面設計とは

画面設計に欠かせない要素

Human Interface Guidelines

3-4 画面遷移

画面遷移とは

画面遷移図について

画面の遷移を作る最低限のルール

画面遷移の種類を知る

画面遷移の使いどころ

画面遷移を試す

3-5 プロトタイピング

プロトタイピングとは

プロトタイピングを開発に取り入れる

3-6 データモデル設計

データモデルとは

データモデルの使いどころ

3-7 まとめ

第4章 プロジェクト管理

4-1 プロジェクト進行管理

プロジェクト進行管理の必要性

プロジェクトのゴール

プロジェクトは水もの

4-2 工数の見積もり

工数とは

工数の見積もり

工数の見積もりを行うにあたってのポイント

4-3 予期せぬ事態の対応

予期せぬ事態とは

予期せぬ事態の対応

プロジェクトの進行との兼ね合い

4-4 開発支援ツールの導入

開発支援ツールについて

開発支援ツール導入のメリット・デメリット

4-5 外部ライブラリ管理ツールの導入

外部ライブラリとは

外部ライブラリ管理ツール・CocoaPods(ココア・ポッズ)

外部ライブラリ管理ツール・Carthage(カルタゴ・カーセッジ)

CocoaPodsとCarthageの違い

4-6 まとめ

第5章 開発の効率化

5-1 ショートカットキーの活用

Xcodeでのショートカットキー

5-2 iOS シミュレーターの活用

iOSシミュレーターのメリット

iOSシミュレーターのデメリット

iOSシミュレーターで使えるテクニック

MacとiPhoneを接続することでできるテクニック

5-3 ブレークポイント

ブレークポイントとは

パラメーター・変数の中身を確認する

ブレークポイントの追加・削除

ブレークポイントを利用して、効率の良い開発を行う

5-4 まとめ

第6章 iOS アプリ開発のためのSwift プログラミング その1

6-1 型

Swiftにおける型

型推論

6-2 変数と定数

var(変数)とlet(定数)

6-3 nil とOptional

nilについて

Optional Type(オプショナル型)

Optional型の「?」と「!」の違いについて

6-4 関数

関数の書き方

メソッドを書く順番

コメント

6-5 配列

Swiftの配列

格納できるクラス

配列の操作

6-6 繰り返し処理

繰り返し処理の基本

辞書型データの繰り返し処理

繰り返し回数が不定の場合の繰り返し処理

6-7 条件分岐

条件分岐の基本・if文

guard文

switchの判定処理

三項条件演算子・Nil Coalescing 演算子

6-8 クロージャー

クロージャーについてのおさらい

クロージャーの使い道について

6-9 タプル

タプルの基礎

タプルの使いどころ

6-10 まとめ

第7章 iOS アプリ開発のためのSwift プログラミング その2

7-1 Storyboard

Storyboardのメリットとデメリット

xibファイル

AutoLayoutの注意点まとめ

端末のレイアウトを確認する

Storyboard Referenceの活用

Safe Area

7-2 イベント通知(デリゲート、オブザーバ)

イベント通知とは

デリゲート(delegate)

通知(Notification)

7-3 継承と拡張(extension)

型・クラスのカスタマイズ

継承の使いどころ

エクステンションの基本

7-4 Swift 4.0の改良点

劇的な変化はなく、安定性を重視したSwift 4.0

String の改善:コレクションの復活

異なる数値型の比較

Dictionary(辞書)型の強化:Dictionary型同士のマージ

Dictionary(辞書)型の強化:シーケンス型のキー・バリューペアからDictionary型へ変換が可能

Dictionary(辞書)型の強化:filterの挙動の変更

Dictionary(辞書)型の強化:mapValues でバリュー値の操作が簡単になった

範囲・区間の指定

配列要素の入れ替え(スワッピング)

Codableの登場

7-5 Swift 4.1 の改良点

Swift 4.1のリリース

今後のSwift4系について

7-6 まとめ

第8章 総合演習・iOSアプリ開発 カメラアプリ その1

8-1 要件定義・仕様作成

総合演習の流れについて

カメラアプリの要件定義

カメラアプリの仕様

優先順位・:あまり工数をかけずに作りたい

優先順位・:写真の撮影、カメラロールからの写真の読み込み

優先順位・:写真にフィルター(加工処理)をかけたい

優先順位・:フィルターをかけた画像は保存が可能

仕様作成後の作業について

8-2 開発スケジュール計画

作業の細分化

見えない作業を明確にする

工数の算出を行う際の注意

工数の算出に慣れていない人は

総合演習での実装スケジュール

8-3 画面設計

Storyboardでの画面のレイアウトの準備

8-4 Storyboard の設定:MainViewController のレイアウト設定

クラスファイルの作成

Storyboardでのレイアウト作成:MainViewController

Storyboardとクラスの変数、関数の連携

8-5 UIImagePickerControllerを利用した画像の読み込み

カメラボタンを押したときの処理の実装

UIImagePickerControllerDelegateの実装

8-6 まとめ

第9章 総合演習・iOSアプリ開発 カメラアプリ その2

9-1 フィルターの一覧と選択画面のレイアウト設定

FilterListViewControllerクラスの設定

画面遷移の設定

9-2 フィルター一覧の表示と選択

FilterListViewControllerクラスの実装

デリゲートメソッドを作成する

9-3 フィルター加工処理

フィルター加工処理の実装

エフェクトをかけない場合の処理

9-4 画像の保存

画像の保存処理

画像が保存されたかどうかを通知する

その他の調整を行う

仕様にはない、漏れている作業について

9-5 今後の仕様について

カメラアプリ完成後に考えること

9-6 まとめ

第10章 総合演習・iOSアプリ開発 ニュースアプリ その1

10-1 WordPressを利用したニュースアプリの導入

通信を使用するアプリ

通信する際に気をつけること

ニュースアプリの要件

ニュースアプリの仕様

10-2 WordPressで使用するAPI の解説

リクエストAPIについて

取得できる投稿データと取得する条件

検索結果データをJSON で取得する

10-3 ニュースアプリで使用するデータモデル

データモデルについて

開発のスケジュール計画

10-4 記事一覧画面のレイアウト作成

記事一覧画面のレイアウト作成

UITableViewCell のカスタムクラス

Content Hugging Priority の設定

10-5 記事一覧画面の実装

API での記事一覧取得

App Transport Security の設定

取得したデータの表示

表示する日付フォーマットの変更

10-6 記事の閲覧画面の作成

記事閲覧画面の作成

10-7 まとめ

第11章 総合演習・iOSアプリ開発 ニュースアプリ その2

11-1 記事の検索画面の作成

記事検索画面のレイアウト作成

SearchViewControllerの構成について

SearchViewControllerの実装

SearchResultViewControllerの実装:検索処理

11-2 ローカル通知・通知設定画面の実装

通知設定画面のレイアウト作成

ローカル通知の設定

11-3 仕様にはないプラスアルファの実装

"prefersLargeTitles" の採用

「引っ張って更新」の実装

検索処理の改善

11-4 まとめ

第12章 リリース準備~アプリ公開

12-1 アプリ公開(リリース)に必要なもの

アプリ公開前の心構え

アプリ公開に必要なもの

Apple Developer Programの有料登録

アプリ名・サブタイトル・キーワード

アプリの価格

アプリの説明文

プロモーション用テキスト

アプリのアイコン

スクリーンショット・動画

カテゴリー(副カテゴリー)

アプリ内課金アイテム

レーティング(年齢制限指定)

ビルドバージョンの変更

12-2 Apple Developer Programの登録

Apple Developer Programとは

Apple Developer Center

iTunes Connect

NDA について

12-3 TestFlight での最終テスト

TestFlightとは

TestFlightの配信~確認

12-4 アプリの公開

アプリの審査後~リリース

リジェクトされた場合の対処方法

12-5 まとめ

第13章 リリース後の対応とアップデートについて

13-1 アプリのアップデート・バグ修正の必要性

アプリのリリース後について

バグ修正について

アップデートについて

動作の見直し

13-2 ダウンロードを増やすための施策

ダウンロードを増やすには

ローカライズ対応

ユーザーを迷わせないようにする

新iOSの対応

新端末の対応

13-3 iOS のバージョンアップ

最新iOSサポートの必要性

iOS ベータ版

古いiOSのサポートについて

13-4 まとめ

PR

秀和システム