iOS 进阶

语言

  1. 《Efficeive Objective-C 2.0》
  2. Objective-C Runtime
  3. The Swift Programming Language

GUI

  1. View

  2. Controller

  1. Event
  2. Layout
  3. Draw
  4. Animation

检测标准

  1. 自定义 UI,熟悉 UI 渲染机制(软渲染、硬件加速)
  2. 掌握基本排版机制,掌握 AutoLayout
  3. 熟悉事件传递机制,自定义手势

Xcode

  1. Xcode Concepts
  2. Debugging with Xcode
  3. llvm

检测标准

  1. 熟悉 Xcode 编译、链接、打包各个流程,Xcodeconfig,各种选项配置选项意义
  2. 熟悉 Xcode 管理多工程、多 target
  3. 熟练使用 cocoapods、plugin
  4. 熟悉 Instument Memory,CPU,GPU 工具使用
  5. 熟悉应用/库打包方式,熟悉应用发布流程

网络

  1. 理解 NSURLConnection、NSURLSession、NSURLProtocol
  2. Apple Guide

检测标准

  1. 熟悉常见网络库使用
  2. 熟悉 Cache、Cookie 管理

多线程

  1. 《Objective-C 高级编程 iOS 与 OS X 多线程和内存管理》
  2. Apple Guide

检测标准

  1. 熟悉多线程消息传递,同步机制,线程池设计和实现
  2. 掌握 NSOperation, GCD,Runloop 机制和实现

数据存储

检测标准

  1. 熟悉 SQLlite 使用,熟悉常见 ORM 系统设计和实现
  2. 熟悉系统常用本地存储机制
  3. 掌握 CoreData、sqllite、UserDefault

开源库实现原理

  1. SDWebImage
  2. AFNetworking
  3. AsyncDisplayKit/pop/react-native
  4. ReactiveCocoa

逆向安全

  1. Keychain Services Programming Guide
  2. 《iOS 应用逆向工程》

其他

音视频

  1. 熟悉音频,视频基本概念,熟悉相关系统接口
  2. 熟悉拍照、录像等相关接口

性能调优

  1. 熟悉移动端常见性能问题和解决方案:主线程 CPU 密集操作,主线程 IO 操作,排版、渲染耗时
  2. 网络性能分析和调优《Web 性能权威指南》
  3. 熟练使用 Insrument 进行性能调优

学习资源

  1. WWDC session
  2. objc.io

计算机内功

  1. 数学
  2. 操作系统
  3. 链接(linking)与加载(loading)

  4. ARM 体系结构与编程

    • ARM 体系结构与编程
  5. 语言

  6. 平台编程

  7. 网络&数据库
    • 计算机网络
    • 数据库
  8. 程序人生
0%