iPhoneアプリを開発するために、Swiftの本を読みました。
本で紹介されているサンプル程度のものは、作れるようになりましたが、実用にはまだまだ遠いかんじw
そこで3冊目のSwift入門書を読んでみることにしました。
「iPhoneアプリ開発講座 はじめてのSwift」という本です。
本屋でパラパラと眺めてみて、第6章「iOSアプリ開発入門」の「iOSアプリの動作の仕組み」という説明が、本書を購入する決定要因になりました。
=自分にとって、足りない知識はこれでした!
●アプリ開発学習でつまづく箇所
本書の良い点は、初心者がiOS開発の学習でつまづきやすい所をピックアップして、重点的に説明してくれている点です。
(1)フレームワークの仕組み
・一般的にフレームワークの特徴は、「制御の反転」という構造、仕組みで作られている
制御の反転(Inversion of Control、IoC)とは、コンピュータ・プログラムの中で、個別の目的のために書かれたコード部分が、一般的で再利用可能なライブラリによるフロー制御を受ける形の設計を指す。
制御の反転は冗談として時々「ハリウッドの原則」と呼ばれることもある。つまり「君の方から連絡してこないで。君が必要な時はこっちから連絡するから」ということである。
開発/実行環境としてのフレームワークを学ぶ - Part1 ソフトウエアのフレームワークとはなにか:ITpro
プログラムの制御がユーザー・コードから再利用コードのほうに移っている現象を,「制御の反転」(Inversion of Control,IoC)と呼びます。
そして,「制御の反転」こそがフレームワークの本質であり,定義とさえ言えます。
制御の反転は,「ハリウッドの原則」(Hollywood Principle)と呼ばれることもあります。
“Don't call us, we'll call you.”(我々に電話をかけて来るな,必要ならこちらから電話する)という,ハリウッドの映画プロデューサと俳優との関係から名づけられた原則です。
iOS SDKのフレームワークを使う場合も、開発者が「制御の反転」に従う必要がありますが、iOS側が要求してくるルールを理解していないと、プログラムがうまく作れません。
(2)必要なデザインパターン
・UIApplicationとUIApplicationDelegateによるデリゲートパターン
iOS SDKフレームワークを利用して、開発者がコードを書くということは、主にUIApplicationとUIApplicationDelegateによるデリゲートパターンに則って指示を出している、という認識が必要でした。
ここら辺の認識が薄いと、自分でも何をやっているのか?よく分からなくなります。
(参考)
デザインパターンとは、プログラムの定石をまとめたものです。
iOSアプリの開発では、他にも「シングルトン」や「オブザーバー」といったデザインパターンもよく使われるそうなので、意識しておけば迷わないようです。
(3)UIKitのオブジェクト、プロパティーの知識
・ビューコントローラーで画面を表示する仕組み(「UI○○○」というオブジェクトの親子関係やプロパティー)
についての理解が、自分の中で不足していたことが分かりました。
(2)については、他の本(「絶対に挫折しない iPhoneアプリ開発「超」入門」「親切すぎるiPhoneアプリ開発の本」等)でも一部触れられていました。
絶対に挫折しない iPhoneアプリ開発「超」入門 増補改訂第5版 【Swift 3 & iOS 10.1以降】 完全対応 (Informatics&IDEA)
- 作者: 高橋京介
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/11/30
- メディア: 単行本
- この商品を含むブログを見る
自分にとって分かりやすい説明で選ぶと、本書「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
各章の狙いは、著者のページで解説してあります。
●サンプルのダウンロード
出版社のWebサイトに、サンプルコードのダウンロードページが用意されていました。
SBクリエイティブ:iPhoneアプリ開発講座 はじめてのSwift
●著者紹介
著者の諏訪悠紀さんは、クラスメソッド株式会社でスマホアプリの開発をされている方でした。
諏訪悠紀(すわ ゆうき)
クラスメソッド株式会社のモバイルアプリサービス部のテクニカルマネージャー。
iOS / Androidアプリの開発およびデザイン、AWSを活用したWebアプリケーション開発などに従事。
技術ブログ「Developers.IO 」をはじめ、様々なWebメディアで最新の技術情報を発信している。
本書の解説を参考にして、iOSアプリの開発方法について理解を深めたいと思います。