注1:这篇文章是我的iOS成长之路系列文章中的第三篇文章,第一篇文章:iOS成长之路-1-入门,第二篇文章:
通过两周时间来学习iOS,我慢慢的叩开了iOS开发的大门,接下来就是一个积累的过程,我主要经历了如下几个过程:
饱览群书
跟着项目一起成长
与同行交流
做一些分享
饱览群书
在初期,我认为多看书对于个人提升有很大的帮助,从某方面来说,这主要扩展了个人对iOS开发的理解广度(初期,先不要急于往最深处研究),接着把书上的讲解与动手编程结合起来,这样可以加强编程理解能力。
我们在选择书籍的时候,一定要注重质量,如果英文阅读能力没问题的话,建议直接上英文书籍(不解释),例如iOS 7 Programming Cookbook,或者iOS7 by Tutorials(最新版),如果英文有点吃力的话,我还是建议看英文书籍,看不懂的可以用google翻译,记得我在搞Symbian开发时,看英文书籍的时候,就是经常开着google翻译。相信硬着头皮看上1个月,你会有各种感受,慢慢的,你会觉得英文内容读起来非常的行云流水,理解起来也要比中文书籍更加容易。
另外,这里所说的饱览群书,还包括网络中的学习资料,你可以订阅一些iOS开发相关的博文,我曾在这里汇总了一些不错的博文,你可以去订阅一下。
还有两个好去处就是苹果每年WWDC上出的大量参考资料,最新的是WWDC2013,值得拥有。再一个就是来自斯坦福大学的公开课Developing iOS 7 Apps for iPhone and iPad,也非常适合初学者。
最后,你还需要知道两个网站:github和stackoverflow,其中github主要用来存放开源项目,你可以在这里学习到别人的好多精华,好多内容都可以拿过来直接使用。另外stackoverflow是国外一个非常著名的问答网站,学习初期,基本上你遇到的问题,都能在这里搜索到相关解答。
跟着项目一起成长
我觉得做项目对个人成长非常快,特别如果你是初学者的话,因为你是带着问题去学习和思考,同时也会有一定的项目压力,迫使你不断向前进。当然,大多数项目涉及到的知识点都会有一定的局限性,例如音乐类软件,主要涉及到多媒体相关的知识,而阅读类的软件可能对于图形渲染要求要多一点。虽说项目涉及到的知识有一定的局限性,但是它需要有一定的深度,所以对个人能力的提升也非常有效。
另外,各项目之间也会有一些共性,只要你熟悉了这些共性,那么在项目之间可以拿来即用,例如网络模块、数据存储模块,有些项目可能就是业务需求不同而已。
如果你是初学者的话,要是有机会做项目,千万不要错过学习提升的好机会,不要因为项目压力,有什么想法,相信顶住各种压力和想法,最后你会感谢曾经努力的你。
与同行交流
有时候,你一个人在做项目,或者学习时,或许会感觉到特别的孤独,有一颗特别强烈的心,迫切想跟外界进行交流:这个功能点的实现可行吗?有人遇到同样的问题吗?别人是如何做的?
其实,在开发或学习过程中,多与同行进行交流是非常有帮助的,交流过程中,有时候一个问题,一个想法,经他人指点,会有茅塞顿开的感觉。当然,交流的对象最好是经验丰富的喽。这样你更加容易信任对方,可以把他当做你前进的灯塔。
不过交流也需要一定的技巧的,遇到问题不是一味的去咨询别人,你可以首先尝试自己解决,别忘记google可是万能的。当然也并不是任何时候都有交流的对象。
做一些分享
我曾经翻译过一些文章和书籍,本来看起很简单的事情,内容也看得懂,但是要想再次用中文表达,其实并没有想象中的简单,好多时候,你需要反复的推敲,并查阅更多的资料,以确保你所翻译出来的内容是正确的。
一句话,这东西需要坚持,到最后,你会发现收获颇多,另外,当你的成果得到别人的认可,对你也会是一个不小的鼓舞。
当然,要是能做一些原创内容分享,是再好不过的了,因为在写原创内容的时候,你首先需要做一个构思和规划,并会查阅大量在资料,以此来支撑自己分享的内容。这要比翻译文章高级多了,翻译那是跟着别人的思路走。
或许你想说,你是程序员,只会写代码,不擅长写文章,写总结,那反过来,试问谁有天生会呢?相信熟能生巧,你所需要做的就是大胆的迈出第一步,然后坚持走下去!
小结
上面写了一些关于iOS开发提升方面的内容,实际上这不仅针对iOS,其它平台或者技术同样可行。希望文中的内容对你有些许帮助,如果有任何疑问,可以在下方给我留言。