这些问题恐怕是想要入行iOS或者初入行1-3年的开发同学经常碰到的,今天我们邀请到了网易移动技术团队负责人张平,从这五个问题的角度来为大家答疑解惑。 多年浏览器内核、JavaScript解释器研发经验;负责过多款APP和一些基础SDK的研发;热爱优秀的编程语言。其次,有了目标,要培养兴趣,经常给自己一些正面的反馈,比如对自己的进步进行鼓励,在前期小步快走;推荐两个开源的APP:SegmentFault、懒人笔记2.1 原理和基础:掌握扎实的原理和基础是进阶的必要条件首先是语言。入门时候可能只要对语言看得懂,会写即可。但是在进阶阶段,看懂会写是远远不够的。这个时候,编码规范就很重要,我们不能随心所欲的写,推荐书目《Effective Objective_C2.0》。除此之外,我们还需熟练掌握Objective-C Runtime。我推荐的素材有http://opensource.apple.com/source/objc4/,这门语言比较好的是它开源,所以我们可以去看它的源码。第二是苹果的这篇文档Objective-C Runtime Programming Guide,我们可以仔细去阅读。从我自身经历来看,对Objc_msgSend实现细节的理解程度很大程度上反映了我们对 Objective-C Runtime的掌握程度。再推荐大家一篇文档 The Swift Programming Language,苹果官方的文档,大家可以反反复复去看。我听到有些人说GUI学习太简单了,我随便看看能刷几个页面就可。还会有这样一种说法,GUI的代码太难看了。我个人十分重视GUI,我认为这是真正挑战的地方,因为这能真正反映我们的熟练程度,是否真正懂得其背后的设计原理。 l View Controller Programming Guidel Drawing and Printing Guidel Core Animation Programming Guide工欲善其事,必先利其器。在我看来,Xcode就是这个器,因此需要十分重视。| Xcode Project Management Guide关于Xcode的流程,我们需要清晰的知道Xcode编译、链接、打包的流程,配置和Xcodeconfig的操作。另外,还需知道Xcode管理多工程、多Target. 还需熟练使用cocoapods、plugin。当然,IIvm调试工具也是必不可少的。理解NSUPLConnection、NSURLSession、NSURLProtocol| URL Loading System Programming Guide| Introduction to CFNetwork Programming Guide推荐书目《Objective_C高级编程ios与OS X多线程和内存管理》,这本书的特点是透彻,全面。| Concurrency Programming Guide| Threading Programming Guide《iOS应用逆向工程》对我们去了解逆向这些事情和应用的保护是很有帮助的。| Keychain Services Programming Guide| Facebook的三个库:AsyncDisplayKit/pop/ReactNative熟悉基本ViewController使用、transition熟悉NSURLConnection, NSURLSession, NSURLProtocol, AFNetworking, 熟悉Cache, cookie管理3.4 熟悉Sqlite使用,熟悉常见ORM系统设计和实现,熟悉系统常用本地存储机制熟悉CoreData, sqlite, UserDefault3.5 熟悉多线程消息传递,同步机制,线程池设计和实现掌握NSOperation GCD Runloop 机制和实现熟悉移动端常见性能问题和解决方案:主线程CPU密集操作,主线程IO操作,排版、渲染耗时熟悉常见iOS应用安全机制(keychain,codesign),熟悉常见应用数据保护机制内功而非招式,更看重基础的掌握。所以,我们需要加强自身实际的能力,主要包括:l 程序的编译上,链接与加载,推荐《程序员的自我修养》N管其下,教你100%学会iOS开发中的“UIView动画”
|