現場での開発の全体像について学べる「現場のためのSwift4 Swift4.1+Xcode9.3対応」

公開日: : iOSアプリ開発

著者の一人である @takashingsさんから、現場のためのSwift4 Swift4.1+Xcode9.3対応を献本いただきました。

一通り読み終えたので書評を書きたいと思います!

この本の対象読者

以下、本書の「はじめに」からの引用です。

・初めてSwiftについて学ぶ初心者ではなく、入門書通りにサンプルアプリを作ることができる方

・開発の経験はないが、これからiOSアプリを自分で作ってみたいと考えている方

・これからiOSアプリの開発現場に携わろうとしている方

・現在iOSアプリの開発現場に身を置いているが、プログラミングの工程以外の知識・スキルを身につけたい、次のステップへ進みたい方

・開発現場レベルで必要とされる知識・スキルを学びたい方

この本の内容について

以下、本書の目次です。

引用元: 現場のためのSwift4 Swift4.1+Xcode9.3対応|書籍情報|秀和システム

  • 第1章 Swiftを使ったiOS アプリ開発の現状と今後の動向
    • 1-1 なぜ、Objective-C ではなくSwift が採用されるのか
    • 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 画面設計
    • 3-4 画面遷移
    • 3-5 プロトタイピング
    • 3-6 データモデル設計
    • 3-7 まとめ
  • 第4章 プロジェクト管理
    • 4-1 プロジェクト進行管理
    • 4-2 工数の見積もり
    • 4-3 予期せぬ事態の対応
    • 4-4 開発支援ツールの導入
    • 4-5 外部ライブラリ管理ツールの導入
    • 4-6 まとめ
  • 第5章 開発の効率化
    • 5-1 ショートカットキーの活用
    • 5-2 iOS シミュレーターの活用
    • 5-3 ブレークポイント
    • 5-4 まとめ
  • 第6章 iOS アプリ開発のためのSwift プログラミング その1
    • 6-1 型
    • 6-2 変数と定数
    • 6-3 nil とOptional
    • 6-4 関数
    • 6-5 配列
    • 6-6 繰り返し処理
    • 6-7 条件分岐
    • 6-8 クロージャー
    • 6-9 タプル
    • 6-10 まとめ
  • 第7章 iOS アプリ開発のためのSwift プログラミング その2
    • 7-1 Storyboard
    • 7-2 イベント通知(デリゲート、オブザーバ)
    • 7-3 継承と拡張(extension)
    • 7-4 Swift 4.0の改良点
    • 7-5 Swift 4.1 の改良点
    • 7-6 まとめ
  • 第8章 総合演習・iOSアプリ開発 カメラアプリ その1
    • 8-1 要件定義・仕様作成
    • 8-2 開発スケジュール計画
    • 8-3 画面設計
    • 8-4 Storyboard の設定:MainViewController のレイアウト設定
    • 8-5 UIImagePickerControllerを利用した画像の読み込み
    • 8-6 まとめ
  • 第9章 総合演習・iOSアプリ開発 カメラアプリ その2
    • 9-1 フィルターの一覧と選択画面のレイアウト設定
    • 9-2 フィルター一覧の表示と選択
    • 9-3 フィルター加工処理
    • 9-4 画像の保存
    • 9-5 今後の仕様について
    • 9-6 まとめ
  • 第10章 総合演習・iOSアプリ開発 ニュースアプリ その1
    • 10-1 WordPressを利用したニュースアプリの導入
    • 10-2 WordPressで使用するAPI の解説
    • 10-3 ニュースアプリで使用するデータモデル
    • 10-4 記事一覧画面のレイアウト作成
    • 10-5 記事一覧画面の実装
    • 10-6 記事の閲覧画面の作成
    • 10-7 まとめ
  • 第11章 総合演習・iOSアプリ開発 ニュースアプリ その2
    • 11-1 記事の検索画面の作成
    • 11-2 ローカル通知・通知設定画面の実装
    • 11-3 仕様にはないプラスアルファの実装
    • 11-4 まとめ
  • 第12章 リリース準備~アプリ公開
    • 12-1 アプリ公開(リリース)に必要なもの
    • 12-2 Apple Developer Programの登録
    • 12-3 TestFlight での最終テスト
    • 12-4 アプリの公開
    • 12-5 まとめ
  • 第13章 リリース後の対応とアップデートについて
    • 13-1 アプリのアップデート・バグ修正の必要性
    • 13-2 ダウンロードを増やすための施策
    • 13-3 iOS のバージョンアップ
    • 13-4 まとめ

本書の利点

開発の全体像について触れられている

目次を見れば分かる通り、本書では要件定義や設計、プロジェクト管理について触れられています。

Swiftの文法・ライブラリの使い方・モダンなアーキテクチャについての知識などは、iOS・Swiftがテーマの勉強会やネット上の記事などで学ぶ機会が得やすいですが、企画・要件定義・設計・プロジェクト管理などがテーマとして取り上げられることは少ない印象があります(もちろん無いわけではありませんが、意識して自ら探していかなければなりません)。

物事について学ぶためにはまずその存在について知らなければなりません。現場での経験がまだないインターンの学生さんや新入社員の方が開発の全体像についてザックリと理解したい場合にこういった本があると助かるのではないでしょうか?

要件定義→仕様作成→開発スケジュール計画→設計→開発という流れに沿った演習がある

ほとんどの入門書の演習では要件が示された後にいきなりコーディングへ入りますが、本書の演習では要件定義から始めて仕様作成・開発スケジュール計画・設計などについてもページを割いています。

要件定義や仕様作成をしっかりと行っておくことで手戻り少なく開発を進められるということを体験できるのは非常に良いと思います。

本書の欠点

Swiftの文法やiOSアプリのコーディングについての開発が少ない

これは欠点というより、著者が本書の方向性を明確にするために敢えて切り捨てた部分ではあると思うのですが、本書はSwiftの文法やiOSアプリのコーディングについての説明が少ないです。

このあたりについても掘り下げて解説すると、現状でも500ページ超なのが1,000ページ超になってしまいそうなのでしょうがないと思います。

足りない部分は文法やコーディングについてフォーカスしている他の書籍で補ってあげるのが良いと思います。

個人的には以下の書籍をオススメします。

まとめ

僕的には本書を以下のような方にオススメしたいと思います。

  • 他の入門書を読んでサンプルコードなどを一通り写経してみたが、自分が作りたいアプリをどのような流れで作っていけば良いか分からない方
  • Swiftの文法やiOSアプリのコーディングについてはある程度分かるが、実際の現場ではどのような流れで開発の仕事を進めていくのか知りたい方

アプリはプログラミング言語の文法だけ学べば作れるようになるわけではなく、コーディングする前の段階、すなわち「自分が作りたいものを日本語で定義し、その構成要素の定義を日本語でブレークダウンしていく」という作業ができるようにならなければなりません。本書ではその考え方についてある程度学ぶことができると思います。

また、実際の開発現場ではコーディングだけしていれば良いわけではありません。基本的にはスケジュールや要件が決まっているはずなので、関係部署とのやり取りやスケジュール的な先の見通しを立てながら仕事を進めていかなければなりません。本書ではそのあたりの考え方についても学ぶことができるでしょう。

この記事を書いた人
あきお(@akio0911
iOSエンジニア、ブロガー。「プログラミングで人々を幸せに」をテーマに活動中。著書に「iPhoneアプリ開発レシピ」「cocos2d for iPhoneレッスンノート」など。東京・大阪にてアプリ開発講座「アプリクリエイター道場」を主催。 MAMORIO株式会社 技術顧問(インタビュー記事)、VISITS Technologies株式会社 技術顧問(インタビュー記事)。ブログ「卵は世界である」を運営。

関連記事

この記事が気に入ったら「いいね!」しよう

follow us in feedly

Feedlyで最新記事を購読

Twitterで更新情報をゲット!

LINEでご感想・ご要望お送りください!
(スマホでLINEを起動 > 友だち追加 > QRコード)

プログラミング未経験者向けのプログラミング入門連載記事を始めます

こんにちは、@akio0911です。 これからプログラミング未経

【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた

こんにちは、@akio0911です。今回はRxSwiftのBe

【RxSwift】materialize, dematealizeを使ってみた

@toshi0383さんに教えていただいた、RxSwiftのm

【RxSwift】ストリームのcompletedをつぶす(消し去る)方法

RxSwiftで元々のストリームからcompletedをつぶす

【RxSwift】completedかerrorが流れてきたらsubscribeはdisposeされる

RxSwiftにおいて、completedかerrorが流れて

→もっと見る

PAGE TOP ↑