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上提问或回答问题。
分享
值得尝试的分享方式有:发起一个开源项目、写技术博客、在技术会议上做报告。这几种方式都比较有挑战,但是如果能大胆尝试,肯定会有巨大的收获。
iOS开发如何提高的更多相关文章
- iOS开发如何提高(from 唐巧的博客)
http://blog.devtang.com/blog/2014/07/27/ios-levelup-tips/
- 如何学习ios开发
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Franz Fang链接:http://www.zhihu.com/question/20264108/answer/3026 ...
- 【转】iOS 开发怎么入门?
原文网址:http://www.zhihu.com/question/20264108 iOS 开发怎么入门? 请问有设计模式.内存管理方面的资料吗?最好有除了官方文档之外的其它内容,10 条评论 分 ...
- iOS——学习网址收集+如何提高iOS开发技能
1 一个比系统自带的终端好用的软件:http://www.iterm2.com 2 学习和遇到技术问题可以去的网站: CocoaChina http://developer.cocoachi ...
- iOS开发——实用篇&提高iOS开发效率的方法和工具
提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时 ...
- 如何提高iOS开发能力
① 阅读技术博客 在现在这个年代,博客的风头早已被微博盖过.但是每天早上上班后的半小时,一定是打开博客,其中有讨论技术的,也有总结个人的相关经历,读完后肯定会有所收获.阅读博客,还有一个原因是技术博客 ...
- <转>提高iOS开发效率的方法和工具
介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的ID ...
- 提高iOS开发效率的方法和工具
http://www.cocoachina.com/ios/20150717/12626.html 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先 ...
- iOS开发系列--Swift进阶
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
随机推荐
- [Linux] 获得系统位数
三种方法获得系统多少位: 以下三个例子都得到的是64位的系统 1. getconf LONG_BIT 2. echo $HOSTTYPE 3. uname –a
- mysql编译时报的一个警告warning: type-punning to incomplete type might break strict-aliasing rules,可能是bug
cmake的时候报了一个警告: /softdb/mysql-5.5.37/storage/innobase/handler/ha_innodb.cc:11870: warning: type-punn ...
- 如何学习FPGA?FPGA学习必备的基础知识
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA 基础知识 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...
- java杂记——数组拷贝
这里介绍两种java提供的数组拷贝方法: (1)Arrays提供的copyOf(T src, T desLength)和copyOfRange(T src, int from, int to) (2) ...
- 如何在Ubuntu中让mongo远程可连接
最近团队的一个成员由于项目原因需要在vps上建立mongo数据库服务器并允许远端访问,这里整理下设置的思路 首先需要安装mongo apt-get updateapt-get install mong ...
- redis如何安装
http://www.redis.net.cn/download/ (1)下载,解压,编译: $ wget http://download.redis.io/releases/redis-3.0.6. ...
- python 类型判断-- isinstance函数
判断类型 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str.list.dict,也可以用在我们自定义的类,它们本质上都是数据类型. 假设有如下的 Per ...
- prefixfree.js_无前缀脚本
prefixfree.js是JavaScript工具库,怎么用呢... 回答就是:哼!省去CSS3中的前缀“-moz”.“-webkit”.“-o”.“-ms” 省的在写一大堆前缀来适应旧版本浏览器或 ...
- flex弹性布局
Flex 布局教程:语法篇 原文地址:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool 作者: ...
- vs2010 安装MVC 3.0
下载链接如下: MVC 3安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=d2928bc1-f48c-4e95-a ...