之前因为要带实习生,特意梳理了一个 iOS 开发基础能力图谱,也供公司内的其它 iOS 开发同学参考。不过不写不知道,一写吓一跳,要做一个好的 iOS 开发也真不容易啊 :)
最近有空,我又整理了一下,并把这张图开放出来。希望这张图能涵盖一个合格 iOS 初中级开发所需要的能力,给大家一些参考。
—— 前方高能,流量预警 ——

对于这张图,我有几点补充说明如下:

  1. 部分能力点列出了优先级,1为最高,5为最低。不过优先级仅供参考,实际还是要参考项目性质,个人工作内容而定
  2. Swift 部分还没来得及梳理,因为接触的少,不好意思献丑。等 Swift 3.0 完善并大规模应用后,也许会单独梳理一份
  3. 其实这张图也远未涵盖 iOS 开发中的所有部分,只是写了比较通用的一些技能点。根据个人工作内容和业务需要,还有很多需要学习的,如 Watch App 开发,Extension 开发,蓝牙,IO,分享等等
  4. 关于计算机基础这部分,我想大家可能会有些争议。根据我的面试经验,这也是许多非科班同学的软肋。有不少人说,我们平常做业务开发,不懂这些也做的挺好的啊?
    对于这样的观点,我还是坚持认为,一个优秀的 iOS 工程师,首先要是一个优秀的计算机软件工程师。哪怕只是写一个简单的基础库,处理一些简单的打包问题,扎实的基础知识也是助益良多。更不用说是代码分析,安全,架构等这些需要对计算机原理有深入理解才能进行的工作了。

当然,其它作者也列过相关的脑图,如:巧大的 iOS 技能图谱,InfoQ 整理的 StuQ 技能图谱,以及 iOS开发学习路线图 等。推荐大家也互相参考看看。相比来说,我列的图会更强调计算机基础和综合能力一些,希望能帮到大家。