iOSアプリの開発方法を学ぶために、入門書を買いました。
本気ではじめるiPhoneアプリ作り Xcode 7.x+Swift 2.x対応 黒帯エンジニアがしっかり教える基本テクニック (ヤフー黒帯シリーズ)
- 作者: 西磨翁
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/02/27
- メディア: 単行本
- この商品を含むブログを見る
「本気ではじめるiPhoneアプリ作り」 という本の良い点は、「データの保存方法」を解説していることです。
他の入門書は、説明が面倒くさいためなのか?~「データの保存方法」に関する説明がないか、貧弱であるように感じました。
もちろん、本書でも、それほど深く突っ込んで説明しているというわけではなく、限られた紙面の中で、必要最低限の情報を提供している、というかんじではあります。
今なら、iOSアプリ開発の入門書として、「本気ではじめるiPhoneアプリ作り」を推薦したいと思います。
iOSアプリの入門書を選ぶときの基準として「データの保存方法」の説明をチェックすると良いでしょう。
●書評
・ゆるい入門書では物足りない人向けの濃い内容!「本気ではじめるiPhoneアプリ作り」
まったくプログラミング経験がない方向けというよりも、入門段階を過ぎて、「さあこれから実際のアプリを作り始めるぞ」という段階で必要となる濃い知識が数多く詰まった本だと思います。
iPhoneアプリの作り方を勉強し始めて、初期の段階で疑問に思うのが「ビューとビューコントローラーの関係性」や「なぜビューコントローラーが必要なのか」なんですけど、このあたりに関してもページを割いて図入りで解説しているのがいいなと思いました
入門段階ではあまり問題にならない、実際のアプリを作る段階ではぜひおさえておきたい知識がたくさんつまった良い本だと思います。
既に小さいアプリは作れるけど大きいアプリになると挫折してしまう方や、2冊目に読むべき技術書としてプッシュしていこうかなと思ってます!
Amazonのレビューでは、厳しい書評もありました。
・コードの説明が半端 - 本気ではじめるiPhoneアプリ作り
ストーリーボードとインターフェイスビルダーの説明は良くて、ステップに沿って進められました。
十分にわかりやすいかと思われました。よかったのはそこまです。
コードの説明は冗長で、部分の説明と全体と紙面を使っています。
説明が半端で、本にある情報ではアプリは動きません。
全てのコードや必要な操作の説明が大幅にカットされています。
サンプルコードをダウンロードしてきたのですが、コンパイルはできますが、アプリは動きません。
デバッグはあまりしていませんが、エミュレーター、実機ともに「START」ボタンから表示されません。
XCode は、7.3で実機のOSは9.3.1です。出たばかりの本なのに残念です。
購入のお薦めはできませんが、前半のわかりやすい説明もあったので、星2つとしました。
●著者紹介
著者は、ヤフーのエンジニアの西 磨翁(にし まお)さんという方でした。
●目次
Chapter1 アプリ開発の準備
Chapter2 Swiftプログラミングの基本
Chapter3 iOSにはどんな部品があるか
Chapter4 アプリの基本をマスターしよう
Chapter5 永続的なデータを扱う
Chapter6 サウンドとアニメーション処理
Chapter7 通信できるアプリを作ろう
Chapter8 アプリの公開に向けて
第5章のデータの永続化(保存)に関する解説が、本書を選ぶ決め手となりました。
Chapter 1 アプリ開発の準備
1-1 iOSアプリを取り巻く現状
さまざまな利用シーンでアプリが主役
1-2 アプリを作りはじめるには
アプリ作りの流れ
1-3 Xcodeのセットアップ
Apple IDについて
Xcodeのダウンロードとインストール
Xcodeの起動を確認する
1-4 Xcodeの概要
Xcodeのメイン画面
ツールバー・タブバー
ナビゲータエリア
エディターエリア
ユーティリティエリア
デバッグエリア
1-5 シミュレータの使い方
シミュレータの起動と終了方法
シミュレータ基本操作
シミュレータのそのほかの機能
シミュレータの言語設定の方法
1-6 実機を接続してテストする
実機でテストする意義とテストの観点
実機の接続とテスト環境の設定
Chapter 2 Swiftプログラミングの基本
2-1 SwiftとPlaygroundについて
使いやすいプログラミング言語Swift
コードの書き方を手軽に学べるPlayground
2-2 Swiftコードの書き方:型と関数
Swiftの基本的な型は振る舞いを持つ
コメント機能を使う
四則演算でPlaygroundの動きを理解する
文字列の扱い
実行結果を出力するPrint文
変数
定数
文字列と変数の組み合わせ
整数を扱う型
真偽の2種類の状態を表すBool型
浮動小数点数を扱う型
整数と浮動小数点数の変換
配列の利用
辞書
何もないことを意味する値nilとOptional型
関数の記述と利用方法
エラーを通知するthrow処理
必ず処理するdefer処理
2-3 Swiftコードの書き方:クラスと構造体
クラスとは
クラスのインスタンス化
プロパティの設定
メソッドによるプロパティの設定
独自クラスを作成する
クラスの継承
構造体の使い方
列挙した値の管理に適したenum
複数の値をまとめるタプル
2-4 Swiftコードの書き方:各種構文
for文
for-in文
if文
if ~ else文
if ~ else if文
switch文
while文
guard文
Swiftでより簡潔にコードを記述する方法
2-5 Xcodeでプログラムの入力をしてみる
新しいプロジェクトの作成
StoryboardにUI部品を配置
コードを入力してプログラムを実装する
Chapter 3 iOSにはどんな部品があるか
3-1 iOSアプリの画面の構成
iOSアプリの画面構成の基本
ビューとビューコントローラーの関係
各部品の階層構造を理解する
ビューとビューコントローラーの関連付け
3-2 iOSの部品の種類
コントロール
ビュー
ビューコントローラー
Chapter 4 アプリの基本をマスターしよう
―割引計算アプリで学ぶ画面レイアウトとボタン操作―
4-1 アプリの仕様と部品の配置
画面遷移はStoryboardが行ってくれる
開発の流れを掴んでおこう
プロジェクトの作成
Storyboardの準備を行う
Storyboardに部品を配置していく
シミュレータで配置を確認する
4-2 処理を実装する
Assistant Editorを活用する
ViewController.swiftに最初から記述されている処理
テキストフィールドをコードと紐づける
数字ボタンを紐づける
数字ボタンのコードの実装
4-3 割引パーセンテージ入力画面のレイアウトと実装
プロジェクトに新しい画面を追加する
2つ目の割引パーセンテージ入力画面をレイアウト
実装クラスのファイルを追加
実装コードを入力する
4-4 計算結果画面のレイアウトと実装
画面の追加とレイアウト
ResultViewController.swiftの追加と実装
4-5 画面遷移の関連付けとパラメータの受け渡し
3つの画面遷移の関連付け
各画面のパラメーターの受け渡し
シミュレータでの動作
4-6 Auto Layoutを使う
割引計算アプリにAuto Layoutを自動設定で適用
Auto Layoutを自分で設定する
Auto Layoutの設定メニューの内容
Auto Layoutの制約を自分で追加する
Chapter 5 永続的なデータを扱う
―ToDoリストアプリで学ぶデータ操作―
5-1 データ保存の永続性
永続性を持ったデータ保存について
iOSのデータ保存場所
アプリでデータを扱う仕組み
5-2 シンプルな値の保存処理
データを保存するプロジェクトの作成
値を保持するコードの紐づけ
テキストフィールドの値を保存する処理の実装
5-3 独自クラスの値を保存できる処理
NSUserDefaultsで保存できるデータ型
シリアライズして独自クラスを格納
5-4 ToDoリストアプリの基本動作を作る
リストを表示する基本画面をレイアウト
UI部品とコードの関連付けを行う
5-5 データの保存機能やチェック機能を追加する
データの保存機能を追加する
完了したToDoにチェックマークを付ける
不要なセルを削除する
Chapter 6 サウンドとアニメーションの処理
―クイズアプリで学ぶサウンド・バイブレーション・グラフィックス操作―
6-1 サウンドとバイブレーションを扱う
サウンドとバイブレーションを扱う基本と準備
フレームワークを知っておく
サウンド機能を使ってみる
6-2 アニメーションを再生する
Core Animationとレイヤーオブジェクトについて
暗黙的なアニメーションを利用する
明示的なアニメーションの記述方法
6-3 クイズアプリのUIを作る
クイズアプリのプロジェクトと制作の流れ
開始画面のレイアウト作成
問題画面のレイアウト作成
画面に表示/非表示となる○×画像を追加
結果画面のレイアウト作成
画面遷移とStoryboard IDの指定
6-4 クイズアプリのプログラムの実装
問題文と選択肢、正解のCSVファイルの準備
データを管理するクラス
開始画面の実装クラス
問題画面の実装クラス
結果画面の実装クラス
Chapter 7 通信できるアプリを作ろう
―商品検索アプリで学ぶ通信の方法―
7-1 通信できるアプリを作るには
通信で利便性が高まるアプリ
通信に使うWeb API
レスポンスデータのフォーマット
APIの利用にはNSURLSessionクラスを使う
メイン実行ループとスレッドの扱いの基礎
iOS 9から搭載されたATS(App Transport Security)の機能
7-2 Web APIの準備
ヤフーのWeb APIを利用する準備をする
7-3 商品検索アプリのレイアウトを行う
商品検索画面のレイアウト
商品詳細画面のレイアウト
7-4 商品検索アプリのプログラムの実装
ItemDataクラスの作成
ItemTableViewCellクラスの作成
SearchItemTableViewControllerクラスの作成
WebViewControllerクラスの作成
商品検索アプリの完成
Chapter 8 アプリの公開に向けて
8-1 アプリアイコンの作成方法
アプリアイコンのサイズの種類
サイズ分割が便利なSketch 3を利用する
Sketch 3でのアイコン制作方法
さまざまなサイズのアイコンを書き出す
アイコンをアプリプロジェクトに登録する
8-2 アプリを世界中の人に届ける
Apple Developer Programへの参加方法
App Storeへの申請に必要な項目
App IDの用意
証明書の作成
Provisioning Profileの作成
App Storeに掲載するための情報入力
アプリのバイナリアップロード
Appleに申請
リジェクトされたときの対処
審査がとおってリリースする前に
Index
同じ事柄の説明でも、切り口が違えば、また違ったものとなるでしょう。=十人十色
2冊目の入門書を読むことによって、基本事項を再確認してみたいと思います。
(基礎を固めてから応用に進めば、その後の流れがスムーズになるかな?)