Slide 1

Slide 1 text

iOSエンジニアのための ロードマップ 〜 iOS エンジニアって何学べばいいんだろう?〜

Slide 2

Slide 2 text

なぜロードマップなのか 実際に作っていく中で必要になったことを 調査して学ぶことはそこまで難しくない だけど、そもそも何を学ぶべきなのかを 調べることは容易ではない ならばその道しるべを用意できれば 助かるのではないかと考えたから

Slide 3

Slide 3 text

ロードマップの対象 iOS アプリ開発初心者 ↓ ある程度の規模の iOS アプリをリリースできるまで

Slide 4

Slide 4 text

学ぶ必要のある要素 start 運用 実装 テスト 前提知識 環境

Slide 5

Slide 5 text

前提知識 この知識を知らないと リリースするための審査でリジェクトを食らたり ユーザーの使いにくいアプリになってしまう

Slide 6

Slide 6 text

前提知識 前提知識 ヒューマンインターフェイスガイ ドライン App Store Review ガイドライン

Slide 7

Slide 7 text

環境 開発を楽にするために知っておくと便利な知識 これを知っていると知らないとでは天と地ほどの差がある

Slide 8

Slide 8 text

環境 環境 ライブラリ 利用 CI(継続的 インテグレーション) バージョン管理 Git Bitrise Cocoapods Carthage SPM 構文チェック Swiftlint

Slide 9

Slide 9 text

実装 言わずもながメインとなるところ 言語仕様から始まりアーキテクチャやデザインパターンなど 気にしなければいけないことが多岐に渡る

Slide 10

Slide 10 text

実装 実装 レイアウト ロジック 言語 UIKit SwiftUI objective-C Swift ソフトウェアアー キテクチャ 非同期処理

Slide 11

Slide 11 text

実装(Swift) Swift Initializers Protocols Structs Enums Closures Generics Optional Extension Codable

Slide 12

Slide 12 text

実装(ソフトウェアアーキテクチャ) ソフトウェアアー キテクチャ アーキテクチャ デザイン パターン Delegate Builder … クリーン アーキテクチャ MVC MVP MVVM

Slide 13

Slide 13 text

実装(UIKit) UIKit UIViewControllers ライフサイクル UIViews Navigation Animation UITableView UICollectionView Layout Autolayout Storyboard Frame-based

Slide 14

Slide 14 text

テスト 開発を続けていく際に予期せぬ不具合を防いでくれる砦 なんでテストを書くかって?絶対に不具合が起きるだよ!

Slide 15

Slide 15 text

テスト テスト UITest UnitTest テストしやすい 実装

Slide 16

Slide 16 text

運用 アプリをリリース、維持するために必要な運用 特に証明書まわりは大事だよ!

Slide 17

Slide 17 text

運用 運用 リリースまでの 運用 リリース後の ための運用 アナリティクス クラッシュログ 証明書 AdHoc InHouse Product

Slide 18

Slide 18 text

推薦図書 - リーダブルコード - Swift 実践入門 - 詳解 Swift 第 5 版 - iOS アプリ設計パターン入門 - よくわかる Auto Layout - iOS テスト全書 - iOS アプリ開発自動テストの教科書 〜 XCTest による単体テスト・ UI テストから, CI/CD ,デバッグ技術まで