1.前言
今天开始我会不定期写一些iOS自学的相关文章。毕竟,自己是自学开始,知道自学有哪些坑,知道自学对于开发欠缺什么,此外,加上现在的实际开发经验,希望能给自学的iOS开发者一些建议。
2.Ready?
2.1 工欲善其事,必先利其器 —— 务必要有自己的 Mac
微博上 @不知霜舞哀伤udspj (http://weibo.com/udspj ,公众号 udspj_manga )妹纸画过一副图,关于iOS新手的建议,漫画上给的回复是“不要怕花钱”。我很认,舍不得孩子套不着狼,没有Mac干毛线的iOS开发?或者你说暂时用虚拟机或者黑苹果。但是,且不说这样做很浪费时间,光是这种地沟油式的(援引自 @tinyfool )盗版思想,就没必要再学iOS开发了。
所以,还是老老实实买台Mac OS的机子吧,哪怕是11寸Air,或者Mac mini都可以的啊,或者买个二手的MacBook能用就行,这样能切身地体验苹果的产品才是刚开始学习iOS开发要做的。
不过,可以不需要有iPhone,模拟器可以搞定开发。但是,最好要有,因为可以体验iOS的各种UI动画的效果,和苹果生态带给用户的服务。
2.2 选择Objective-C还是Swift?
嗯,我建议是如果急于找工作的话先学Objective-C,毕竟主流商业项目还是用oc,若是swift可以自己学习使用。但是,Swift还是必须要学的,谁让这是人家苹果的亲孩子,并且已经开始主推,开源还跨平台,哪天要是能做服务端的脚本语言。
2.3 Linux/Unix的基础
用Mac OS做开发最大的好处就是,图形界面和unix的操作系统可以兼得。学习iOS应该先接触一些Linux/Unix操作系统的基础,比如一些简单常用的bash命令,系统目录等。
2.4 文档!文档!
苹果的官方文档非常好,写得很详细。但是唯一的难度就是全英文的,作为一个,大学只过四级的英语渣渣来说,看文档真心累。但是,看久了也就越来越熟练了,知道如何使用文档。以后,我会整理一个关于文档使用的文章。现在,我看文档也是比较累,真心觉得英语很关键哪。
2.5 Xcode的使用
Xcode作为iOS应用唯一的编译软件,自然非常重要,对于interface builder ,navigator ,inspector,调试栏等都要熟练掌握。
2.6 参考书
我买了不少iOS开发的书,看完的也就两本,粗略看过的大概不超过10本。看不完没关系,慢慢看嘛~
对于入门来说,先学一门语言基础一点的就成。
- 如果是Objective-C,《Objective-C程序设计》、《精通iOS 开发》(我就是看完的这两本),随便看看就好,对iOS开发有一定了解就成。
- 如果是Swift,《Swift 开发指南》、《Swift权威指南》都可以入门。
- 其他入门的书也可以看看《iOS数据库应用高级编程》(这本书很坑,根本不能称之为高级)、《iOS高级编程》(这本书很坑+1,翻译的译作者把professional翻译成高级也真真是醉了!)、《iOS 8 案例大全》(各种小demo的堆砌,入门的话看这个练手不错)
- 进阶的书,我比较推荐 《精通Objective-C》、《Objective-C编程之道:iOS设计模式解析》、《iOS编程实战》、《iOS网络高级编程》、《Core Data应用开发实践指南》,这几本我粗略看过,没看完,但真心觉得很好。
- 其他杂七杂八的书,《iOS 逆向工程》(狗神的书,买了至今没看呢T_T)、《黑客攻防技术宝典 iOS实战篇》(仍然木有看)、《iOS Auto Layout开发秘籍》(木有看+1)、《PhotoshopCC 移动UI界面设计与实战》(基本就是小人书,都是图画,看着玩可以,不过没有学习价值)
但是书,看看就好了,最重要的还是要写代码,多练习。千万不要落入,把所有书看完再找工作的误区,只要有点基础,投简历就是了,真正的项目开发才是最能快速提高技术的。
2.7 开发
在自学阶段的开发,除了各种demo练习,最好能做个小应用,有完整功能的最好。当然,只有UI也可以。网上也有很多高仿的应用吧,不过我认为,自己做的能完整做完对开发项目有帮助。
另外,就是,真心觉得初学能用storyboard就用sb,能用xib就用xib,不要只用代码搭建UI,费时费力,而且不利于对 iOS的开发模式的学习。
3.工作?oh,NO!
关于开发工作,我是这么认为的,由于2015年初互联网+炒作太火了,而且移动互联网是主流趋势,iOS开发依旧会很火,加上苹果出大屏手机,大部分消费者都趋于选择iPhone。不过,这个行业永远都是需要的是人才,现在培训的学员太多了。所以,刚出来没工作经验的,还是很难找的。当时,我自己找工作也是比较难,从PHP转iOS并不好转,基本从零开始。所以,找工作的新手要做好心理准备。
另外,现在的市场,我觉得确实也比较浮躁。不过,真本事永远都是自己的,时间久了,苦一两年,也就无所畏惧了。哪一行都一样,所以要有心理准备,记得一句话,这么说的,“人生最艰难的就是,第一份工作,和最后一次说再见”。也没什么的,学到东西就好嘛。
4.结语
我一直认为,人但凡想做一件事情,只要真心想做,就一定能做成。日积月累,厚积薄发。任何行业都有其社交圈子,演艺圈,商业圈,IT圈云云~但凡圈子,都有大佬,那些人一开始选择了这个圈子,期间他们不像其他人一样弃圈换坑,而是,一直在做,经历了那么多年的危机,现在依旧好好的。所以,作为后浪,不要着急,反正跟大佬比,我们年轻,跟小辈比我们有经验。总之,时间久了,一切都会有的,面包,爱情都会有的~~嗯,bug可以没有。