iOS开发技术栈

提醒自己:

Objective-C


• objective-c语言基础
• library,framework的制作
• Runtime编程
• LLVM原理和调优

操作系统


• iOS内存管理和调优
• iOS的文件系统和沙盒机制
• iOS多线程编程(Thread,GCD,NSOperation)
• iOS网络和服务器编程(NSURLConnection,NSURLSession)
• iOS系统的各种安全机制

网络编程


• iOS网络发送机制调整和优化(NSURLSession)
• Socket编程
•网络传输中的各种保障
•对传输协议的调整优化

数据库&持久化方案


• 常规持久化方案(Keychain,NSUserDefaults,Sqlite,CoreData)
•数据库的使用和设计(Sqlite)
•数据结构优化,Sql调优

图形图像编程


• UIKit,Core Animation和Core Text的绘制
• Core Graphics, Quartz 2D, Media Player, AV Foundation
• OpenGL ES, GLKit, SpriteKit, SceneKit, Metal

数据结构 & 算法


•基本的算法和数据结构(排序搜索算法, 数组, 队列)
•较复杂数据结构的灵活应用(二叉树, 图等)
•复杂的专项算法(图像识别算法, 拓扑定位等等)

安全方案


• 本地数据存储安全(Keychain)
•授权和身份验证
•传输安全(对称, 非对称, SSL)
• App代码安全

业务能力


•一般性业务功能需求分析及实现
•重要业务模块的需求分析及实现
•中小规模产品的架构,系统设计和实现
•大规模产品或产品线的架构,系统设计和实现
•平台级产品的架构,系统设计和实现