本記事では僕が実際に読んできた書籍を中心に
- これからiOSアプリ開発を始める方
- 現在iOSアプリ開発を学んでいて、良い書籍を探している方
- すでにiOSアプリ開発をしている方
に向けて書籍をご紹介します。
出版されている書籍は初心者向けの書籍が多いですが、一部中級者向け以上の読み応えのある書籍もあります。そちらも合わせて紹介していきますので経験のある方にも参考になる書籍があるかと思います。
※ 2020/1/3 2020年版へ更新(Xcode11対応版がある書籍を更新)
初学者向け
この章では初学者向けのお勧め書籍をご紹介していきます。初学者向けの書籍は非常に充実しており、毎年のXcodeのアップデートにも対応し改定され続けている書籍が数多くあります。この章では私が読んで参考になった書籍を取り上げていますが、比較的良い書籍が多いためご自身に合う書籍が見つかるでしょう。それではご紹介していきます。
本気ではじめるiPhoneアプリ作り
本気ではじめるiPhoneアプリ作り Xcode 10.x対応 (Informatics&IDEA) 新品価格 ¥2,970から (2019/10/6 09:49時点) |
この書籍はXcodeのメジャーバージョンアップがされる度に改定がされています。特徴として、
- 初心者向けで丁寧な説明である
- 写真が多くわかりやすい
- ネットワーク通信処理含め基本的なアプリ開発を学べる
があります。アプリの申請についても記載がありますのでApp Storeにリリースをしたい方にも参考になるでしょう。購入をする際には対応しているXcodeのバージョンに気をつけましょう。多少古くても問題がないこともありますが、Xcodeは画面構成がよく変わりますので古い対応バージョンの書籍を購入すると読み替えをしながら読み進めることになります。これはなかなか初学者にとっては特に大変な作業かと思いますのでお勧めは最新のバージョンに対応した書籍を購入することです。
2019年10月時点では最新のXcodeはXcode11ですが、9月にでたばかりということもあり、さすがにまだそちらに対応した書籍はないようです。徐々にXcode11対応版は出版されるはずですのでそちらを待つか、一旦Xcode10対応版を購入して学習を進めるのがいいでしょう。
詳細! Swift iPhoneアプリ開発入門ノート
詳細! Swift iPhoneアプリ開発入門ノート iOS12 Xcode 10対応 新品価格 ¥3,520から (2019/10/6 10:15時点) |
こちらは "本気ではじめるiPhoneアプリ作り" よりもページ数も多く、内容が充実しています。一方で初学者にとっては内容が多すぎるというのも見方によっては考えられます。そのためお勧めとしては、まずは読み切れそうな書籍で全体感を把握した上でこの書籍を読み進めるといいでしょう。なお、すでに一通り基礎を把握している方にはこの書籍から学びはじめるのもいいかと思います。書店で手に取っていただけるとわかると思いますが非常にボリュームのある本ですので全て読み進める、というよりは必要な箇所をピックアップして読み進めるというのもありかと思います。
現場のためのSwift4
現場のためのSwift4 Swift4.1 Xcode9.3対応 新品価格 ¥3,278から (2019/10/6 10:23時点) |
この書籍は前述の2つの書籍とは視点が異なっており、実際に現場でiPhoneアプリ開発をする場合、どういった流れで開発を進め、どういった判断が必要か、といったことも合わせて述べている書籍です。書籍のタイトルにもあるのですが注意点としてXcode9.3対応であることには注意ください。私個人はこの書籍が非常に好きで何度も読み返し、サンプルアプリのコードを写経していました。お勧めのポイントとしては、
- iPhoneアプリ開発でのライブラリ利用について記載がある
- 書籍のサイズが大判ではなく、コンパクトで読みやすい(ただしページ数は多く、内容は充実している)
- 少し説明が足りていないと感じる箇所もあるが、必要なことのみに説明が止まっており、内容がコンパクトになっている
というあたりです。メリットでもあるのですが逆にデメリットでもあるのは、中級者向け(現場向け)の内容をコンパクトに必要な箇所に絞っている書籍のため、なぜそうなるのか、という突っ込んだ質問、疑問に答え切れない部分があることかと思います。一方で、その点については別の書籍や自身でドキュメントを探すなどをすることでカバーできると私は思います。そのため、私としてはこの書籍は非常にお勧めできます。iPhoneアプリ開発は非常に多岐にわたる知識と経験が必要なのですが、この書籍は初学者が一歩次のステップに進むためのきっかけになり得る書籍だと思っています。私自身も非常にお世話になりました。
経験者向け
本章では実務経験のある方やある程度iPhoneアプリ開発について学んだ方向けの書籍をご紹介します。
iOSアプリ開発デザインパターン入門
こちらはiOSアプリ開発でのデザインパターンについての書籍です。iOSのアプリ開発はAppleがMVCで開発できるよう設計はされていますが、開発者側がその意図をくみ、コーディングをしない場合、FatViewControllerのような状態に容易になり得ます。この書籍はこれからiOSアプリ開発におけるデザインパターンについて説明してくれています。一方でこのデザインパターンを自身のスキルとするには非常に多くの経験と知識が必要です。場合によっては歴史的な経緯などを把握することでやっと全体感が掴めることもあるでしょう。この書籍は初めてiOSアプリのデザインパターンを学び始めようとする方にお勧めできる内容になっています。内容も非常にコンパクトですので比較的早く読めるでしょう、ただ、それを自分のものにするには多くの時間がかかるかと思います。焦らず、じっくりこのテーマについては学ぶことが良いかと思います。
iOSアプリ設計パターン入門
iOSアプリ設計パターン入門はiOSアプリに開発を何度か行い、より深くiOSアプリの設計について学びたい方にはこれ以上ない素晴らしい書籍になっています。著者の方々もiOSアプリ開発において活躍されている方々で経験も豊富です。対象読者を引用します。
・iOSアプリ開発における代表的な設計について知りたい方 ・どの設計を選択するか迷っている方 ・チーム内で設計の共通認識を持ちたい方 ・iOSアプリ開発以外でも役立つ設計力を身につけたい方 ・全てのiOSエンジニア 引用:iOSアプリ設計パターン入門
この本は僕自身も読んでいますが、まだ自分のものにできていないなと思っています。何度も読みじっくり自分の力にしていくような書籍と内容、テーマを扱っています。もう一歩先に進みたい方には一番お勧めできる書籍です。
Clean ArchitectureをはじめReduxなど大規模なチーム開発を行う場合には必須となってくるアーキテクチャについて丁寧にまとまっています。書籍の情報は自分のものにするまで非常に時間がかかるかと思いますが丁寧に読み込みつつ理解を深めることで役立つことが多くあるでしょう。
【動画】MVVM Design Pattern Using Swift in iOS
少し本記事とはテーマがずれますがもし英語が得意な場合はUdemyで提供されているiOSの設計パターンに関するセミナーをお勧めします。
僕自身もこちらのセミナーはもちろん全て見ていますがMVVMを学べる非常に良いセミナーです。前述したように残念ながら英語のみの提供ですが英語字幕もだせますのである程度英語が苦でない方にはぜひお勧めしたいと思います。
Swift実践入門
この書籍はタイトル通りSwiftにテーマを絞っている書籍です。この書籍自体は改訂もされており、おそらく今後もSwiftの進化と共に改訂がされていくでしょう。そういう点でも非常に信頼できる一冊ですね。他の書籍でもSwiftを紹介している章はもちろんありますが、iOSアプリのUI開発など様々なテーマを扱っている関係上、どうしてもSwiftについて述べるページが少なくなりがちです。一方でこの書籍はテーマを絞っている関係で他書籍よりSwiftについてしっかりまとめられています。Swiftについて理解を深めたい方にはお勧めできる書籍です。
プロの力が身につくiPhone/iPadアプリケーション開発の教科書
この書籍は私自身が当時iOS、iOSアプリが動作する仕組みを把握したいと思っていた時に出会った書籍です。この書籍は以下記事が元になって書籍になっています。
http://glassonion.hatenablog.com/entry/20120507/1336320038
私自身も、当時iOSアプリの内部構造がどうなっているのかしっかり把握したいと思っていた時にこの記事を見つけ、書籍に出会いました。私がもともとバックエンドのエンジニアで、iOSアプリのようなイベント駆動のタイプのアプリケーション開発はあまり経験がなかったこともあり、iOSアプリがどう動作しているのか掴み切れず、一時期理解が進まず悩んでいました。その際にこういった書籍で内部構造をしっかり把握できたことで一歩理解が深まるきっかけになりました。基本を抑えたらぜひ合わせて読んで頂けると良いかと思います。
詳細! Objective-C iPhoneアプリ開発入門ノート
Objective-Cの本になります。これから新規でアプリを作るようなケースではSwiftを利用するでしょう。しかし、長く利用されているアプリではObjective-Cが利用され、メンテナンスされているケースは多くあります。そのため、特に企業でiOSアプリエンジニアとして従事する方にとってはObjective-Cを学ぶ必要があるケースは多くあると思います。Objective-Cについては書籍が新しく出ていないのですが、まずObjective-Cについて言語の特徴などを把握するにはこの書籍がいいかと思います。あまり突っ込んで言語特性を記述しているような書籍ではなく、Objective-CでiPhoneアプリ開発する際の入門書という立ち位置の書籍になっています。おそらく今購入できるObjective-Cの書籍の中では丁寧な良い書籍だと思います。
iOSテスト全書
ユニットテスト、そしてUIテストについて興味はある方は多いと思います。ただ、実際にやろうと思うと非常に多くのことにつまづくのが実際だと思います。そういった時にはこのiOSテスト全書が参考になるかと思います。XCTestやQuick、Nimbleについても紹介があり、CI/CDについても記載がされている書籍です。ある程度の規模のアプリになってくるとこれらの取り組みは必要になってきますのでこれから学びたい方にはちょうど良い書籍だと思います。サンプルアプリを通して実際に自動テストについて学ぶ章もありとても参考になります。
【動画】 Mastering RxSwift in iOS
RxSwiftは多くのアプリで利用されている技術だと思います。一方でその学習コストは非常に高く学べる機会は少ないと思います。おそらく内容としてどうしても中級者向け以上の内容になることから書籍でも扱っているものは国内では非常に少ないです。Udemyでは英語ではありますがRxSwiftを扱っているコースがあります。
僕自身もこちらのコースを見ながらRxSwiftについて学んでいました。英語でのコースですが実際にコードを見ながら学ぶことになるので英語を全て理解できなくてもある程度の理解は進むでしょう。
比較して学ぶRxSwift入門
比較して学ぶRxSwift入門 (技術の泉シリーズ(NextPublishing)) 新品価格 ¥1,980から (2020/3/30 21:58時点) |
こちらはRxSwiftの入門本です。日本語での書籍は少ないので非常に助かりますね。僕自身もこちらを参考にしていました。サンプルアプリでのRxSwift利用例のソースも非常に参考になります。これからRxSwiftを学ぶ方へオススメの書籍です。
Xcode11対応(2020/1/3追記)
上記書籍についてXcode11対応版出ているか確認を進めましたがまだのようでした。ただ他の書籍でXcode11対応版がいくつか出ていましたので合わせて紹介しておきます。
詳細! SwiftUI iPhoneアプリ開発入門ノート iOS13 Xcode11対応
詳細! SwiftUI iPhoneアプリ開発入門ノート iOS 13 Xcode11対応 新品価格 ¥2,970から (2020/1/3 08:17時点) |
こちらは上記で紹介した書籍のSwiftUIに絞ったバージョンの書籍かと思います。SwiftUIはこれから導入が広がっていくと思いますのでこちらの書籍で学び始めるのはいいかと思います。僕もまだ読めてはいないですがこのシリーズの場合ですと入門向けというより少し詳しくまとまっているはずですのでこれからSwiftUIを学びたい方にはおすすめできそうです。
絶対に挫折しないiPhoneアプリ開発「超」入門
絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS13】 完全対応 新品価格 ¥3,025から (2020/1/3 08:22時点) |
こちらも長いシリーズでXcode11対応版がもう出ていました。早いですね、すごい。これから初めてiPhoneアプリ開発を始める方はXcode11を使うでしょうから迷わないためにもXcode11対応のこちらの書籍を使う方がいいでしょう。
番外編:Udemyのすすめ
少し本記事のタイトルとずれますが書籍だけでなくUdemyのような動画で学ぶ方法もおすすめですのでこちらで合わせて紹介をしておきます。
最近は新しい技術を学ぶ方法としてオンラインセミナーやUdemyのように動画を見ながら学べるサービスが複数あります。僕自身も適宜こう行ったサービスは利用しており新しい知識と技術を学んでいます。その中でもUdemyは、
- 非常にコースが豊富でiOSアプリ開発のコースも複数ある
- 日本語のiOSアプリ開発コースもあるが英語のコースもある
- セール期間中であれば非常にお得に教材を購入することができる
という点でおすすめできます。セール期間中には僕もよくまとめ買いをし時間があるときに勉強を進めています。例えば以下のようなコースがあります。
【iOS13対応】未経験者がiPhoneアプリ開発者になるための全て iOS Boot Camp
【最新版】Tinder風Musicリストアプリを作成しよう!
【Xcode11+Git】チーム開発の基礎とLike機能を用いた写真SNS開発を学ぼう!
どれも面白そうですよね。こういった形で学べるのは非常に効率もいいと思います。
iOSアプリ開発については特にXcodeの使い方などは書籍で見るよりもUdemyで講師の方がXcodeを使っているう様子をみる方が頭に入りやすいこともよくあるかと思います。僕自身もXcodeやUI開発周りは書籍よりも他の方が実際に作っている様子を見ることですっと頭に入ってくることがよくありました。同じiOSアプリ開発者が近くにいればいいですがそうでないこともあるかと思います、そういった方はぜひUdemyで動画を見つつ学べるのでおすすめできる良い手段です。
まとめ
本記事は以上になります。iPhoneアプリ開発についてはUIの開発、通信やデータ周りの設計、そしてCI/CD、テスト自動化、そしてSwift、Objective-Cなど他にもあります。それぞれに深みがあり、全てを完璧にこなす、というのは途方もないので必要に応じて徐々に学んでいくのが良いかと思います。本記事が適切な書籍を選ぶ際の参考になれば幸いです。