阅读博客

在现在这个碎片化阅读流行的年代,博客的风头早已被微博盖过。而我却坚持写作博客,并且大量地阅读同行的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上提问或回答问题。

分享

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

Posted by 唐巧 Jul 27th, 2014 iOS

提升自身的iOS编程水平 (转载)的更多相关文章

  1. 提高C#编程水平的50个要点

    下面的文章转载于 提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在  readonly 和 const 之间,优先使用 readonly 3.在 as ...

  2. paip.提升性能---并行多核编程哈的数据结构list,set,map

    paip.提升性能---并行多核编程哈的数据结构list,set,map vector/copyonwritearraylist 都是线程安全的. 或者经过包装的list ::: collection ...

  3. [译] 二、开始iOS编程之前,你还需要做什么?

    声明:本文翻译自AppCoda网站的文章:What You Need to Begin iOS Programming?,作者是创建者Simon Ng.如有异议,请联系博主.   更新:帖子已经重新被 ...

  4. 27个提升效率的iOS开源库推荐

    DZNEmptyDataSet(UI,空表格视图解算器) PDTSimpleCalendar(UI,drop-in日历组件) MagicalRecord(实施活跃记录模式的Core Data助手) C ...

  5. IOS编程User Interface基础

    IOS编程之User Interface基础 目录 概述 相关概念 常见问题 状态栏的隐藏 应用图标的设置 概述 IOS用户界面是APP呈现给用户最直观.最常用的方式,因此学会用户界面的编程是学习IO ...

  6. IOS编程之多线程

    IOS编程之多线程 目录 概述——对多线程的理解 IOS中实现多线程的三种方式 NSThread 线程创建 线程的同步与锁 线程间的交互 线程的操作方法 NSOperation and NSOpera ...

  7. iOS编程——经过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版)

    iOS编程——通过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版) 很多的应用都需要用到手机的唯一标示,而且要求这个唯一标示不能因为应用app的卸载或者改变而变化. 在iO ...

  8. 提高C#编程水平不可不读的50个要诀

    提高C#编程水平的50个要点 1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之 ...

  9. IOS编程教程(八):在你的应用程序添加启动画面

    IOS编程教程(八):在你的应用程序添加启动画面   虽然你可能认为你需要编写闪屏的代码,苹果已经可以非常轻松地把它做在Xcode中.不需要任何编码.你只需要做的是设置一些配置. 什么是闪屏 对于那些 ...

随机推荐

  1. poj 1031 多边形对点(向周围发射光线)的覆盖

    Fence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3018   Accepted: 1010 Description ...

  2. 小Z的袜子(bzoj 2038)

    Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜 ...

  3. 动态AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)

    http://www.cnblogs.com/JackSun/archive/2010/12/16/1908104.html 此窗体,只需要简单准备如下,即可运行:    1,添加一个TAdvStri ...

  4. 接阿里云oss有感

    看API,从头细看到尾,在这个过程中一定会找到你要找的东西.

  5. ubuntu下安装翻译软件

    原文: http://sixipiaoyang.blog.163.com/blog/static/6232358820144146386437/ Ubuntu下常用的翻译软件有StarDict,Gol ...

  6. IntelliJ IDEA常用统一设置(Linux/Mac/Windows)

    前言:如果说VS是宇宙超级无敌第一大开发工具,那么IDEA是当之无愧的第二大开发工具,将来有机会把VS干掉. 说明:除了以下说明的配置地方外,其它尽量保持默认,这样有利于团队代码风格的统一. 运行VM ...

  7. org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error:-32

    org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error:-32 Most likely, ...

  8. 异常来自 HRESULT:0x800A01A8

    Windows 10 Enterprise Microsoft Office 2013 – Excel Oracle BI Publisher Desktop 11.1.1.7 异常来自 HRESUL ...

  9. iOS10你掉坑了吗?

    坑1: 系统导航栏上按键消失问题 坑2: canOpenURL 调用返回NO问题 坑3: iOS10 权限崩溃问题 坑4: xib不好用了?别怕看这里! 坑5: command +/注释失效 坑6: ...

  10. 【leetcode】 26. Remove Duplicates from Sorted Array

    @requires_authorization @author johnsondu @create_time 2015.7.22 18:58 @url [remove dublicates from ...