该部分内容来自网易iOS开发工程师直播分享会的笔记
初级
Objective-C基础教程 IOS编程 IOS开发指南 https://github.com/eseedo/kidscoding https://code.tutsplus.com/series/learn-ios-sdk-development-from-scratch--mobile-14536 https://github.com/gaosboy/iOSSF https://github.com/liaojinxing/Voice2Note====================================== 高级进阶
《Effective Objective-C2.0》 & 编码规范 https://opensource.apple.com/source/objc4/ Objective-C Runtime Programming Guide objc_msgSend实现细节 The Swift Programming Launguage====================================== IOS GUI的学习
View Controller Event Layout Draw Animation Apple Guide: View Programming Guide View Controller Programming Guide Event Handling Guide Drawing and Printing Guide Core Animation Programming Guide====================================== Xcode的学习
Xcode Overview Xcode Project Management Guide Xcode编译 链接 打包 配置 Xcodeconfig Xcode管理多工程 多Target 熟练使用cocoapods、plugin llvm====================================== 网络开发
理解NSURLConnection NSURLSession NSURLProtocol Apple Guide: URL Loading System Programming Guide Introduction to CFNetwork Programming Guide AFNetworking======================================
多线程
《Objective-C高级编程 IOS与OS X多线程和内存管理》 Apple Guide: Concurrency Programming Guide Threading Programming Guide======================================
逆向和安全
Keychain Services Programming Guide 《IOS应用逆向工程》======================================
学习资源
WWDC session objc.io 需要熟悉原理和实现的开源库 SDWebImage AFNetworking/Restkit AsyncDisplayKit/pop/ReactNative ReactiveCocoa======================================
能力清单
GUI 自定义UI、熟悉UI渲染机制(软渲染、硬件渲染) 掌握基本排版机制、掌握AutoLayout 熟悉事件传递机制、自定义手势 Controller 熟悉基本ViewController使用、transition 熟悉MVC等设计模式 熟悉常见网络库的使用 熟悉NSURLConnection NSURLSession NSURLProtocol AFNetworking、熟悉Cache、Cookie管理 熟悉Sqlite使用,熟悉常见ORM系统设计和实现,熟悉系统常见的本地存储机制 掌握CoreData、sqlite、UserDefaults 熟悉多线程消息传递,同步机制,线程池设计和实现 掌握NSOperation GCD Runloop机制和实现 熟悉音频、视频基本概念、熟悉相关系统接口 熟悉拍照、录像等相关接口 编程语言 熟悉C/C++,Objective-C, Swift 性能调优 熟悉移动端常见性能问题和解决方案:主线程CPU密集操作、主线程IO操作、排版,渲染耗时 网络性能分析和调优 《Web性能权威指南》 熟练使用Instrument进行性能调优 安全 熟悉常见IOS应用安全机制(keychain, codesign),熟悉常用应用数据保护机制 熟悉常见加解密算法 熟悉IOS逆向与安全 开发工具 熟悉Xcode编程流程,熟悉各种配置选项意义,熟悉Instrument Memory,CPU,GPU工具使用 熟悉应用/库打包方式,熟悉应用发布流程======================================
内功,走向专家
数学 基础 高等数学 数论 概率论 《具体数学》、《计算机程序设计的艺术》 操作系统 现代操作系统 操作系统实现 链接与加载 《程序员的自我修养》 ARM体系架构 《ARM体系结构与编程》 语言 Scheme、Racket、Haskell、Prolog C/C++/Java 《面向对象编程导论》 《编译原理》 《计算机程序构造与解释》 算法、数据结构 《算法导论》 平台编程 《Unix高级环境编程》 设计模式 《代码大全》 《重构》 计算机网络、数据库 Peter Norvig:十年学会编程 写程序 学半打编程语言 没有捷径