- 从头学ios,如何入门
- 目标明确
- 培养兴趣;小步快走,正面反馈
- 多动手
- ios初学者入门资料:
https://www.raywenderlich.com/store/ios-apprentice
https://code.tutsplus.com/series/learn-ios-sdk-development-from-scratch-mobile-14536
- 系统学习,如何进阶
- 开源APP:
- 深挖原理和基础
- 进阶资料:
Objective-C Runtime:
Objective-c Runtime Programming Guide
Objc_msgSend实现细节
The Swift Programming Language
- ios GUI学习(学习原理以及设计)
Apple Guide:
View Programming guide
View Controller Programming Guide
Event Handling Guide
Drawing and Printing Guide
Core Animation Programming Guide
- Xcode学习
Xcode Project Management Guide
Xcode编译,链接,打包各流程,配置,Xcodeconfig
Xcode管理多工程,多Target
熟练使用cocoapods,plugin
- 学习网络;
Apple Guide:
URL Loading System Programming Guide
Introduction to CFNetwork Programming Guide
AFNetworking
- 学习多线程:
- 逆向与安全《ios 应用逆向工程》
- 学习资源:WWDC session objc.io
- 需要熟悉原理和实现的开源库: SDWeblmage AFNetworking/Restkit AsyncDisplayKit/pop/ReactNative ReactiveCocoa
- GUI:
掌握基本排版机制,掌握AutoLayout
熟悉事件传递机制,自定义手势
掌握基本动画,动画原理
掌握基本动画,动画原理
- Controller:
熟悉基本ViewController使用,transition
熟悉MVC等设计模式(追根溯源)
- 熟悉常见网络库使用
- 熟悉Sqlite使用,熟悉常见ORM系统设计和实现,熟悉系统常用本地存储机制
- ios能力清单
- 性能调优:
网络性能分析和调优(《Web性能权威指南》)
熟练使用Instrument进行性能调优
- 安全:
熟悉常见逆向加密算法
- 开发工具:
熟悉应用/库打包方式,熟悉应用发布流程
- 知识体系,走向专家
内功而非招式(强化基础)
高数,数论,概率论(《具体数学》)
操作系统
链接与加载(《程序员的自我修养》)
ARM体系架构(《ARM体系结构与编程》)
学一打语言(Scheme,Racket,Haskell,Prolog,C,C++,Java),重要的是学思想。 《面向对象编程导论》《编译原理》《计算机程序构造与解释》
算法导论和数据结构
平台编程 《Unix高级环境编程》
设计模式 《代码大全》《重构》
计算机网络
数据库
- 企业需要怎样的ios人才
- 大公司更看重基础和成长性
- 技术热情,不来自于说,来自于行动
- 系统学习的能力,多看书,系统的规划技术
- 听,说能力
- 敢于承担,敢于挑战