浜村拓夫(・∀・)作品集

頭の中にあるイメージを表現できるデザイン力が欲しいです(><)

本気ではじめるiPhoneアプリ作り

iOSアプリの開発方法を学ぶために、入門書を買いました。

 

 

「本気ではじめるiPhoneアプリ作り」 という本の良い点は、「データの保存方法」を解説していることです。

他の入門書は、説明が面倒くさいためなのか?~「データの保存方法」に関する説明がないか、貧弱であるように感じました。

もちろん、本書でも、それほど深く突っ込んで説明しているというわけではなく、限られた紙面の中で、必要最低限の情報を提供している、というかんじではあります。

 

hamamuratakuo.hatenablog.com

 

今なら、iOSアプリ開発の入門書として、「本気ではじめるiPhoneアプリ作り」を推薦したいと思います。

iOSアプリの入門書を選ぶときの基準として「データの保存方法」の説明をチェックすると良いでしょう。

 

●書評

ゆるい入門書では物足りない人向けの濃い内容!「本気ではじめるiPhoneアプリ作り」

まったくプログラミング経験がない方向けというよりも、入門段階を過ぎて、「さあこれから実際のアプリを作り始めるぞ」という段階で必要となる濃い知識が数多く詰まった本だと思います。

 

iPhoneアプリの作り方を勉強し始めて、初期の段階で疑問に思うのが「ビューとビューコントローラーの関係性」や「なぜビューコントローラーが必要なのか」なんですけど、このあたりに関してもページを割いて図入りで解説しているのがいいなと思いました

 

入門段階ではあまり問題にならない、実際のアプリを作る段階ではぜひおさえておきたい知識がたくさんつまった良い本だと思います。

 

既に小さいアプリは作れるけど大きいアプリになると挫折してしまう方や、2冊目に読むべき技術書としてプッシュしていこうかなと思ってます!

 

Amazonのレビューでは、厳しい書評もありました。

コードの説明が半端 - 本気ではじめるiPhoneアプリ作り

ストーリーボードとインターフェイスビルダーの説明は良くて、ステップに沿って進められました。

十分にわかりやすいかと思われました。よかったのはそこまです。

 

コードの説明は冗長で、部分の説明と全体と紙面を使っています。

説明が半端で、本にある情報ではアプリは動きません。

全てのコードや必要な操作の説明が大幅にカットされています。

 

サンプルコードをダウンロードしてきたのですが、コンパイルはできますが、アプリは動きません。

デバッグはあまりしていませんが、エミュレーター、実機ともに「START」ボタンから表示されません。

 

XCode は、7.3で実機のOSは9.3.1です。出たばかりの本なのに残念です。

 

購入のお薦めはできませんが、前半のわかりやすい説明もあったので、星2つとしました。

 

●著者紹介

著者は、ヤフーのエンジニアの西 磨翁(にし まお)さんという方でした。

 

techblog.yahoo.co.jp

 

●目次

SBクリエイティブ:本気ではじめるiPhoneアプリ作り

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冊目の入門書を読むことによって、基本事項を再確認してみたいと思います。

(基礎を固めてから応用に進めば、その後の流れがスムーズになるかな?)