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 ...
随机推荐
- HTTPCLIENT 学习 (1) 入门
早就如雷贯耳它的大名,却一直不曾相见,昨天下载下来,今天终于测试了一把,用的官网的QUICK START例子,来访问我自己以前开发过的WEB程序,因为这个网站恰好有一个写好的通过POST请求验证用户名 ...
- android 入门-本地化语言
打包安装到手机上,改变手机系统语言,你在看看是不是改变了.哇.真的可以.
- phpcms v9网站搬家更换域名的方法
PHPCMS 是国内领先的网站管理系统,同时也是一个开源的PHP开发框架. 本文介绍phpcms v9网站搬家更换域名的方法. 1.在新的主机空间把phpcms安装好. 新安装的版本一定要和准备搬迁的 ...
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- 关于如何在MFC工程中输入不同的数据进行调试
我们可以采用c++的文件输入输出来进行调试 这样就绕过了不能使用黑窗口输入数据就不能调试的思维定式 不是黑窗口的我们都可以考虑用文件流输入输出 或者用控件来输入? http://blog.csdn.n ...
- supervisor(二)event
supervisor的event机制其实,就是一个监控/通知的框架.抛开这个机制实现的过程来说的话,event其实就是一串数据,这串数据里面有head和body两部分.咱们先弄清楚event数据结构, ...
- summary of k Sum problem and solutions in leetcode
I found summary of k Sum problem and solutions in leetcode on the Internet. http://www.sigmainfy.com ...
- mybatis 加载配置文件的两种方式
package com.atguigu.day03_mybaits.test; import java.io.IOException;import java.io.InputStream;import ...
- vim 标准环境的配置
最近刚刚从IDE转到了vim,很多习惯不一致,特地配置了一下vim环境.在网上找了大神的帖子,怕忘记了,特此纪念. 传送门 http://www.cnblogs.com/ma6174/arch ...
- jQuery.lazyload详解
<SCRIPT src="jquery.js" type=text/javascript></SCRIPT> <SCRIPT src="jq ...