iOS開發(fā)有哪些方向可以探索

這篇文章是 《為什么最近iOS開發(fā)崗位那么多(第一篇)》的第二篇,標題不一樣哈。這篇文章列舉一下作為iOS開發(fā)者,有哪些方向可以去探索、學習和應用。
首先聲明下,這篇文章肯定整理的不完整。
界面邏輯
最基礎的界面開發(fā),各種UI組件的使用。如何實現(xiàn)微信的主要界面,實現(xiàn)微博的主要界面。 UITableView的使用、UICollectionView的使用。IGListKit的使用,ComponentKit的使用和原理。 異步UI渲染。Texture、YYLabel的原理。 動態(tài)化:如何實現(xiàn)微博的feed流,如何實現(xiàn)美團首頁的feed流。這些feed流通常是一個一個卡片組成,卡片是通過json等格式數(shù)據(jù)動態(tài)生成的界面。動態(tài)化如何結(jié)合異步UI渲染,提升加載性能等。 SwiftUI開發(fā)界面。跨蘋果平臺的界面開發(fā)。如何與UIKit和AppKit交互。 多線程開發(fā)
動畫
基礎的動畫實現(xiàn)。 CoreAnimation的使用。 轉(zhuǎn)場動畫,常用哪些,有什么坑。這里寫不好,會造成比較奇怪的crash等。 SwiftUI的動畫。
架構(gòu)
組件化 具體業(yè)務場景的架構(gòu) CocoaPods的使用和原理 動態(tài)庫的使用 DI框架
音視頻
音視頻開發(fā) AVFoundation opengl/metal
偏底層
書 http://newosxbook.com/index.php 的 Volume I OC Runtime:如何調(diào)試oc runtime Swizzle、Aspect fishhook libffi JSPatch原理,WasmPatch原理 Swift與Runtime相關(guān)的部分 dyld MachO 代碼覆蓋率 MainThreadChecker的實現(xiàn) 調(diào)試:lldb
性能和穩(wěn)定性
啟動耗時:如何監(jiān)控,如何優(yōu)化。網(wǎng)上有大量的文章。 卡頓:如何監(jiān)控,如何優(yōu)化。 FPS:如何監(jiān)控,如何優(yōu)化。 存儲:如何監(jiān)控,如何優(yōu)化。 磁盤:如何監(jiān)控,如何優(yōu)化。 耗電:如何監(jiān)控,如何優(yōu)化。 GPU:如何監(jiān)控,如何優(yōu)化。 Crash:Crash原理,學習KSCrash源碼。 WatchDog:如何監(jiān)控,如何優(yōu)化。 OOM(Abort):如何監(jiān)控。如何優(yōu)化。 Instruments工具使用:TimeProfiler的使用,Allocations等工具的使用。
逆向工程
基礎的逆向流程熟悉。 怎么砸殼,砸殼原理。frida-ios-dump的使用,bagbak的使用。 匯編:主要是arm64 工具:IDA和Hopper的使用 工具:frida的使用,Grapefruit的使用 工具:Messier的使用。 怎么破解一個iOS/macOS App
編譯
Xcode編譯過程,ipa產(chǎn)生過程 MonkeyDev原理 clang lldb ld64 鏈接器理解 LLVM 理解 LLVM Pass的開發(fā) LLVM 插樁 LLVM bitcode的理解
DevOps
前端開發(fā):vue和react的基礎使用,前端UI庫的基礎使用 ruby/python/node/shell的腳步基礎使用 某種faas系統(tǒng)的使用
數(shù)據(jù)
埋點的完整實現(xiàn) AB測試、AA測試 如何評價性能好壞 最基礎的分位數(shù)的概念
越獄
如何越獄,書 http://newosxbook.com/index.php 的 Volume III
端智能
CoreML MNN TF Lite
通用素質(zhì)
上文都是各種知識點、或者研究學習方向,但在工作中,僅僅有技術(shù)是不夠的,還需要一些軟技能。后面的文章我們詳細聊聊。
其他
等等這次寫文章沒想到的方向,后續(xù)再補充。
如果你有補充,歡迎到群里來指點。
評論
圖片
表情
