iOS开发总结
自从学习iOS开发以来,断断续续加起来也有2年时间了。最近离职,是时候做一下总结,梳理一下知识点。
iOS开发最开始入门是 Stanford University Developing iOS 7 Apps,虽然是英语,但是最基本的概念也是那时候一点点学的。当然后来离职参加培训班,是进步最快速的一段时间,也培养了真正自学的能力。到后来参加iOS的工作,一直以来引以为好的就是自学能力。因为对于iOS开发来说:语言、设计模式、框架、文档、调试和测试等都已经掌握了,实际开发工作中,无非是一些实际的问题或者新的框架和系统特性,只要查询文档或者Google一下都能解决了。
框架
谈到iOS框架,必须是MVC,工作以来的项目一直都是MVC。足够简单的分层和经久验证的良好设计。对于其他的如:MVVM,只是了解,实际项目中未曾应用。比较简单的业务逻辑和团队人数少的情况下,MVC足够好用。
语言
Objective-C是入门语言,其语言复杂性足够新手望而却步,但是也就属性特性和方法调用比较难。后来工作中一直使用Swift,才感觉到现代语言的简单和强大。尤其是Swift多范式,支持函数式编程,尤为方便。由于对Swift的偏爱,我也逐渐把第三方库都替换成了Swift对应的版本。Cocoapods对于Framework的支持也比较好, 添加use_frameworks!
,即可调用Objective-C的库也很Swifty。
设计模式
Delegate、通知、KVO、Target-Action、Block(Closure)、工厂方法、单例等就不一一介绍,更具实际需求选择合适且喜欢的就行。特别推荐这篇文章:消息传递机制
Cocoa Touch
iOS渲染层次树、view、layer、响应链、Core Animation、自定义view、常见UIKit的控件的继承关系,table view、collection view等都应该熟练使用。
学习资源
微博、Twitter、博客、书、视频教程都是很好的。列几个对我影响比较的:
- CS 193P iPhone Application Development
- limboy
- ObjC中国
- Swift 进阶
- Programming iOS 9
- iOS开发进阶
- Effective Objective-C 2.0
常用库
这里是最为推荐的几个库:
1 |
|