前置き
これからiOSエンジニアを目指す人向けにiOS開発における基礎的な知識とスキルを身につけるためのステップアップとしてまとめてみました。
UIKitなどの細かい話はApple公式のドキュメントが参考になると思います。
Step
-
Apple公式のチュートリアルがあるので、まずはこれでアプリ開発に慣れるのがいいと思います。Google翻訳でもちゃんとした日本語になります。
-
チュートリアルで雰囲気が掴めたら、詳細!Swift iPhoneアプリ開発 入門ノートを最後までやってみるといいと思います。
-
AutoLayoutについてはよくわかるAuto Layoutがおすすめです。丁寧に描かれてあるのでわかりやすいです
英語版はApple公式があります -
ここまでで一通りのアプリ開発には慣れてきてるでしょうから、オブジェクト指向やMVCについて理解を深めるにはiOSアプリ開発デザインパターン入門がおすすめです。
-
SwiftらしさについてはApple Swift API Design Guidelinesがおすすめです。
-
Apple Human Interface Guidelinesにはさらっと目を通しておきましょう。
-
エンジニア初めての方向け。リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック
-
API通信する際など、Webの概要を知っておくと何かと都合がいいので、Webを支える技術が参考になります。
-
アーキテクチャや設計についてより深く学ぶのに最適な書籍です。iOSアプリ設計パターン入門
-
ここまでで、一通りのことはなんとなくわかってきたのではないかと思います。これからは解決したい課題についてキーワードでぐぐったり、さっぱりわからなかったらApple Developer Documentationで体系的に深い知識を身につけたり、先ずは手を動かして後から振り返って書籍を読みなおしたりすると最初はよくわからなかったのがわかってくるようになると思います。
Apple Developer Documentation
iOSでよく使われる機能について、抜粋しました。
日本語版の最新はここから見れるのですが、過去にPDF配されていたものがなくなっているので、古いドキュメントはProgramming Guideで検索するとおおよそ出てきます
内容は古いですがベースのアーキテクチャは今とほとんど変わっていないので、Objective-CのコードはスルーかSwiftに置き換えて読むといいんじゃないかと思います。
- [iOS テクノロジーの概要]
- [iOS アプリケーション プログラミングガイド]
- iOS View プログラミングガイド
- iOS Scroll View プログラミングガイド
- iOS Table View プログラミングガイド
- iOS View Controller プログラミングガイド
- Collection View プログラミングガイド
- [Cocoa向け コーディングガイドライン]
- Core Animationプログラミングガイド
- アニメーションのタイプとタイミング
- [iOSイベント処理ガイド]
- [URLローディングシステム プログラミングガイド]
- ファイルシステム プログラミングガイド
- Instrumentsユーザガイド
以下は開発しながら読むといい物
- 新装版 達人プログラマー 職人から名匠への道
- アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣
- 情熱プログラマー ソフトウェア開発者の幸せな生き方
- SOFT SKILLS ソフトウェア開発者の人生マニュアル
- 比較して学ぶRxSwift入門 (技術書典シリーズ(NextPublishing))
- RxSwiftの公式からPlayground形式で各種挙動確認ができるのでおすすめです
- MVC,MVP,MVVM,Clean Architectureの実装例
- Clean Architectureの詳細
- 詳解 Swift 第5版
- Swiftデザインパターン (Programmer's SELECTION)
- Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ)
- iPhoneプログラミングUIKit詳解リファレンス
- ITエンジニア的論理思考テクニック! 仕事ができる人になるための13の極意