文章目录
  1. 1. 阅读博客
  2. 2. 读书
  3. 3. 看 WWDC 视频
  4. 4. 看苹果的官方文档
  5. 5. 看开源项目的代码
  6. 6. 多写代码,多思考
  7. 7. 多和同行交流
  8. 8. 分享

许多人在博客和微信上咨询我 iOS 开发如何提高,经过一番思考之后,我能想到如下一些提高的办法,我个人也是通过这些方法来提高的。

阅读博客

在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过。而我却坚持写作博客,并且大量地阅读同行的 iOS 开发博客。博客的文章长度通常在 3000 字左右,许多 iOS 开发知识都至少需要这样的篇幅才能完整地讲解清楚。并且博客相对于书籍来说,并没有较长的出版发行时间,所以阅读博客对于获取最新的 iOS 开发知识有着非常良好的效果。

我自己精心整理了国内 40 多位 iOS 开发博主的博客地址列表:https://github.com/tangqiaoboy/iOSBlogCN,希望大家都能培养起阅读博客的习惯。

国外也有很多优秀的 iOS 开发博客,他们整体质量比中文的博客更高,以下是一些推荐的博客地址列表:

博客名 博客地址
objc.io http://www.objc.io/
Ray Wenderlich http://www.raywenderlich.com
iOS Developer Tips http://iosdevelopertips.com/
iOS Dev Weekly http://iosdevweekly.com/
NSHipster http://nshipster.com/
Bartosz Ciechanowski http://ciechanowski.me
Big Nerd Ranch Blog http://blog.bignerdranch.com
Nils Hayat http://nilsou.com/

另外,使用博客 RSS 聚合工具(例如 Feedly:http://www.feedly.com/)可以获得更好的博客阅读体验。手机上也有很多优秀的博客阅读工具(我使用的是 Newsify)。合理地使用这些工具也可以将你在地铁上、睡觉前等碎片时间充分利用上。

读书

博客的内容通常只能详细讲解一个知识点,而书籍则能成体系地介绍整个知识树。相比国外,中国的书籍售价相当便宜,所以这其实是一个非常划算的提高的方式。建议大家每年至少坚持读完 1 本高质量的 iOS 开发书籍。

去年出版的 《iOS 7 Programming Pushing the Limits》 以及 《Objective-C 高级编程:iOS 与 OS X 多线程和内存管理》 都算是不错的进阶方面的读物。顺便打个广告,我自己也在写一本 iOS 进阶方面的图书,年底前应该能上市。

看 WWDC 视频

由于 iOS 开发在快速发展,每年苹果都会给我们带来很多新的知识。而对于这些知识,第一手的资料就是 WWDC 的视频。

通常情况下,一个 iOS 开发的新知识首先会在 WWDC 上被苹果公开,然后 3 个月左右,会有国内外的博客介绍这些知识,再过半年左右,会有国外的图书介绍这些知识。所以如果想尽早地了解这些知识,那么只有通过 WWDC 的视频。

现在每年的 WWDC 视频都会在会议过程中逐步放出,重要的视频会带有英文字幕。坚持阅读这些视频不但可以获得最新的 iOS 开发知识,还可以提高英文听力水平。

看苹果的官方文档

苹果的官方文档相当详尽,对于不熟悉的 API,阅读官方文档也是最直接有效地方式。

苹果的文档比较海量,适合选一些重点来阅读,比如人机交互指南就是必读的,而其它的内容可以遇到的时候作为重点资源来查阅。

看开源项目的代码

大家一定有这样的感受,很多时候用文字讲解半天,还不如写几行代码来得直观。阅读优秀的开源项目代码,不但可以学习到 iOS 开发本身的基本知识,还能学习到设计模式等软件架构上的知识。

如果读者能够参与到开源项目的开发中,则能进一步提高自己的能力。

多写代码,多思考

知识的积累离不开实践和总结,我认为 iOS 代码量如果没有超过 10 万行,是不能称得上熟悉 iOS 开发的。某些在校的学生,仅仅做了几个 C++ 的大作业,就在求职简历里面写上 “精通 C++”,则真是让人哭笑不得。

在多写代码的同时,我们也要注意不要 “ 重复造轮子 “,尽量保证每次写的代码都能具有复用性。在代码结构因为业务需求需要变更时,及时重构,在不要留下技术债的同时,我们也要多思考如何设计应用架构,能够保证满足灵活多变的产品需求。

在多次重构和思考的过程中,我们就会慢慢积累出一类问题的 “最佳实践” 方式,成为自己宝贵的经验。

多和同行交流

有些时候遇到一些难解的技术问题,和同行的几句交流就可能让你茅塞顿开。。另外常见的技术问题通常都有人以前遇到过,简单指导几句就能让你一下子找到正确的解决方向。

国内开发者之间的交流,可以通过论坛,微博,QQ 群等方式来进行。另外各大公司有时候会办技术沙龙,这也是一个认识同行的好机会。

需要特别提醒的是,和国内开发者之前交流要注意讨论质量,有一些论坛和 QQ 群讨论质量相当低下,提的问题都是能通过简单 Google 获得的,这种社区一定要远离,以提高自己的沟通效率。

除了在国内的技术社区交流,建议读者可以去国外的 stackoverflow:http://www.stackoverflow.com 上提问或回答问题。

分享

值得尝试的分享方式有:发起一个开源项目、写技术博客、在技术会议上做报告。这几种方式都比较有挑战,但是如果能大胆尝试,肯定会有巨大的收获。