iOSアプリをネイティブで開発するために必要な技術、ノウハウをまとめました
これを読む人のターゲットは
iOSエンジニアが実際のプロジェクトに従事している人が「iOSの技術がどのくらいあるだろう」と思ったときに見るのを想定しています。
またはこれから他のプラットフォームエンジニアからiOSエンジニアになろうとしている人がざっと見るものです。
重要度
(必須)がついているものはそれがないとiOS開発ができないレベルのものです
(ほぼ必須)は多くのプロジェクトで利用されているが、たまに使用していないプロジェクトがあるものです
(重要)はできなくともiOS開発はできるが、多くのプロジェクトで採用されているもの
言語
Swift(必須)
Objective-C
Apple FrameWork
UIKit(必須)
Foundation(必須)
Autolayout(必須)
CoreDate
プログラミング パラダイム
オブジェクト指向(必須)
プロトコル指向
オブジェクト指向分析設計
KVO
リアクティブプログラミング
リファクタリング
スレッドプログラミング
Grand Central Dispatch (GCD)
NSTimer
デバック手法
LLDB
View Debugger
XcodeのInstruments、Leakなど
Database
Realm
Coredata
アーキテクチャ
MVC(ほぼ必須))
MVVM
MVP
VIPER
クリーンアーキテクチャ
デザインパターン
WebAPI (ほぼ必須)
GoFのデザインパターン(一部必須、一部重要)
RxSwift
Test
appleが提供するTest
UnitTest
UITest
Analyze
CI/CD
flastlane
Bitrise
3rd Party Libraries
Cocoapods(重要)
Google analytics
Firebase
Alamofire
AFNetworking
Carthage
Apple関連
App storeへの登録
Apple Developer Program
Apple Tecnical Servive
Apple Bug Report