IOS学习之路

该部分内容来自网易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:十年学会编程

    写程序

    学半打编程语言

    没有捷径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值