|
【编者按】本文转载自iWangKe.me,作者是@王轲_IndieBros。本文面向程序员,简单讲述iOS开发相关技术Objective-C。
这段非程序员就不要看了。
中国的程序员一般不是微软系就是JAVA系,抱了那么多年大腿,现在大腿变了。
Objective-C(下面简称objc)是个古老又神秘的语言,尤其对于中国程序员。第一次看objc的messaging语法时,杀死我不知道多少的脑细胞。objc是很值得学的一门语言,虽然是C的超集,但真的会让你明白OO。以前我也不大懂OO,现在觉得比以前明白一些了。
学objc一定要有扎实的C语言基础,千万别看谭浩强那本书。那本书我看过好几遍,发现很难看懂。最后总结了一条规律,看不懂的书,就不适合自己看。
Modern objc比objc 1.0进步了非常多,所以初学者看书的时候,一定不要走弯路,直接学Modern objc和ARC即可。不过我强烈建议把MRC完全理解透彻,否则会死得很惨。ARC可不是GC,一个是compiler支持,另外一个是runtime支持,完全不一样的。
除了语言本身,还要研究研究Foundation、UIKit等常用的Framework,不管做游戏还是应用都是用得到的。建议初学者,花三个月到半年的时间,把苹果官方文档的Guide全看一遍。单点突破是短期行为,只有系统性学习才是长期投资。读Guide可以不求甚解,但至少让你知道iOS都有哪些东西,至少google的时候,你还能想起keyword;请教别人问题的时候也可以专业点。很多人不招人待见,除了懒惰之外,还不会问问题。
接着你可能需要看看LLVM和LLDB相关的资料,对compiler和debugger有些基本理解。另外Instrument也是迟早需要用到的,这时候文档就不太管用了。建议把每年WWDC关于Instrument的Session都看一看。
不建议长期混CocoaChina(Gary不要抽我- -),我一般只混混议事大厅和销售区,而且比较喜欢写段子。有问题Google或者SO都是不错的选择。有多余精力,强烈建议去Github转转,为开源作点贡献。很多人说没精力贡献代码,很多时候问个有价值的问题也是很大的贡献。
别忘了去Github follow我一下,我star了几百个repo,搞不好你就不需要重复造轮子了。CocoaPods是第三方库管理的利器,早用早知道。有空还可以去CocoaControl转转,有很多优秀的开源控件值得学习。
有的朋友是做游戏的,选择可能不太多,无非是Cocos2D/X或Unity。我对Unity了解不是很多,这里就不说了。Cocos2D-iPhone还有0.6.x的时候,我读了很多关键代码,收获非常大。
现在引擎越来越成熟了,相关工具也越来越齐全了。门槛低了,竞争激烈了。可别以为能写个代码就出去创业,不如像我这样,先做做独立开发者也是条出路。如果你有这方面想法的话,建议翻翻我的博客。 |
|