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

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

iPhoneアプリ開発講座 はじめてのSwift

iPhoneアプリを開発するために、Swiftの本を読みました。

 

hamamuratakuo.hatenablog.com

 

hamamuratakuo.hatenablog.com

 

本で紹介されているサンプル程度のものは、作れるようになりましたが、実用にはまだまだ遠いかんじw

 

そこで3冊目のSwift入門書を読んでみることにしました。

iPhoneアプリ開発講座 はじめてのSwift」という本です。 

 

iPhoneアプリ開発講座 はじめてのSwift

iPhoneアプリ開発講座 はじめてのSwift

 

 

本屋でパラパラと眺めてみて、第6章「iOSアプリ開発入門」のiOSアプリの動作の仕組み」という説明が、本書を購入する決定要因になりました。

 

=自分にとって、足りない知識はこれでした!

 

 

●アプリ開発学習でつまづく箇所

本書の良い点は、初心者がiOS開発の学習でつまづきやすい所をピックアップして、重点的に説明してくれている点です。

 

(1)フレームワークの仕組み 

・一般的にフレームワークの特徴は、「制御の反転」という構造、仕組みで作られている

 

制御の反転 - Wikipedia

制御の反転(Inversion of Control、IoCとは、コンピュータ・プログラムの中で、個別の目的のために書かれたコード部分が、一般的で再利用可能なライブラリによるフロー制御を受ける形の設計を指す。

 

制御の反転は冗談として時々「ハリウッドの原則」と呼ばれることもある。つまり「君の方から連絡してこないで。君が必要な時はこっちから連絡するから」ということである。

 

開発/実行環境としてのフレームワークを学ぶ - Part1 ソフトウエアのフレームワークとはなにか:ITpro

f:id:hamamuratakuo:20161221150538j:plain

プログラムの制御がユーザー・コードから再利用コードのほうに移っている現象を,「制御の反転」(Inversion of Control,IoC)と呼びます。

そして,「制御の反転」こそがフレームワークの本質であり,定義とさえ言えます。

制御の反転は,「ハリウッドの原則」(Hollywood Principle)と呼ばれることもあります。

“Don't call us, we'll call you.”(我々に電話をかけて来るな,必要ならこちらから電話する)という,ハリウッドの映画プロデューサと俳優との関係から名づけられた原則です。

 

iOS SDKフレームワークを使う場合も、開発者が「制御の反転」に従う必要がありますが、iOS側が要求してくるルールを理解していないと、プログラムがうまく作れません。

 

(2)必要なデザインパターン

・UIApplicationとUIApplicationDelegateによるデリゲートパターン

 

iOS SDKフレームワークを利用して、開発者がコードを書くということは、主にUIApplicationとUIApplicationDelegateによるデリゲートパターンに則って指示を出している、という認識が必要でした。

ここら辺の認識が薄いと、自分でも何をやっているのか?よく分からなくなります。

 

(参考)

glassonion.hatenablog.com

 

f:id:hamamuratakuo:20161221153511p:plain

 

f:id:hamamuratakuo:20161221153528p:plain

 

デザインパターンとは、プログラムの定石をまとめたものです。

デザインパターン (ソフトウェア) - Wikipedia

 

iOSアプリの開発では、他にも「シングルトン」や「オブザーバー」といったデザインパターンもよく使われるそうなので、意識しておけば迷わないようです。

 

(3)UIKitのオブジェクト、プロパティーの知識

・ビューコントローラーで画面を表示する仕組み(「UI○○○」というオブジェクトの親子関係やプロパティー

についての理解が、自分の中で不足していたことが分かりました。

 

 

(2)については、他の本(「絶対に挫折しない iPhoneアプリ開発「超」入門」「親切すぎるiPhoneアプリ開発の本」等)でも一部触れられていました。

 

 

親切すぎるiPhoneアプリ開発の本

親切すぎるiPhoneアプリ開発の本

 

 

自分にとって分かりやすい説明で選ぶと、本書「iPhoneアプリ開発講座 はじめてのSwift」が最適でした。

 

 

●目次

CHAPTER 01 プログラミングの基礎知識
  01 プログラムとは
  02 プログラミング言語とは
  03 コンピュータがプログラムを理解する仕組み
  04 iPhoneアプリ開発のためのプログラミング言語「Swift」
  05 プログラミングに必要な準備

 

CHAPTER 02 プログラミングを始めるための準備
  01 Xcodeのインストール
  02 Playgroundを開く
  03 コードを書いてみよう

 

CHAPTER 03 Swiftの基本的な文法
  01 変数と定数
  02 値の型
  03 コレクション
  04 演算子
  05 制御構文
  06 関数
  07 オプショナル

 

CHAPTER 04 Swiftとオブジェクト指向プログラミング
  01 オブジェクト指向プログラミングとは
  02 型
  03 クラス
  04 プロパティ
  05 メソッド
  06 サブスクリプト
  07 参照カウント
  08 イニシャライザとデイニシャライザ
  09 継承
  10 ストラクチャ
  11 列挙型
  12 プロトコル
  13 エクステンション

 

CHAPTER 05 Swiftの発展的な文法
  01 タプル
  02 関数オブジェクト
  03 クロージャ
  04 型のキャスト

 

CHAPTER 06 iOSアプリ開発入門
  01 iOS SDKフレームワーク
  02 iOSアプリの動作の仕組み
  03 iOSアプリのUIの仕組み
  04 サンプルアプリの作成

 

CHAPTER 07 iOSアプリ開発レシピ
  Recipe01 電卓アプリ
  Recipe02 タイマーアプリ
  Recipe03 マップアプリ
  Recipe04 図鑑アプリ
  Recipe05 写真ビューアアプリ

 

終わりに

 

INDEX

 

各章の狙いは、著者のページで解説してあります。

 

dev.classmethod.jp

 

 

●サンプルのダウンロード

出版社のWebサイトに、サンプルコードのダウンロードページが用意されていました。

SBクリエイティブ:iPhoneアプリ開発講座 はじめてのSwift

 

 

●著者紹介

著者の諏訪悠紀さんは、クラスメソッド株式会社スマホアプリの開発をされている方でした。

諏訪悠紀(すわ ゆうき)
クラスメソッド株式会社のモバイルアプリサービス部のテクニカルマネージャー。
iOS / Androidアプリの開発およびデザイン、AWSを活用したWebアプリケーション開発などに従事。
技術ブログ「Developers.IO 」をはじめ、様々なWebメディアで最新の技術情報を発信している。

 

dev.classmethod.jp

 

www.atmarkit.co.jp

 

www.itmedia.co.jp

 

 

本書の解説を参考にして、iOSアプリの開発方法について理解を深めたいと思います。