该部分内容来自网易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:十年学会编程
写程序
学半打编程语言
没有捷径