想学 iOS 开发高阶一点的东西,从何开始?
前言
如果你正在学习 iOS, 或者正在从事IOS开发?
还是一个一个迷茫的待就业大学生,或是公司的到一个半老员工?
现在到了开发的一个阶段了,基本的东西很熟了,想着提高技术?
学习难一点的东西,不知该遵循什么思路?从何开始?
现在是看到哪里感兴趣就学学,感觉很乱?
官方文档
第一点要求,能比较顺畅的阅读官方的文档
如果你连官方的文档读起来都非常困难,那你还谈什么提高和进阶,咱们学习 iOS 的所有权威的资料都来自 apple 开发者网站,靠逛论坛看看帖子不是出路。 如果这点没达到,那就从阅读官方文档开始吧,找一篇你比较熟悉的技术的官方文档,比如:View Programming Guide for iOS 自己阅读,翻译,里面不懂的单词,记下来,多学几遍,这些你不懂的单词,在以后你看其他时文档里还会出现无数次的。坚持几个月后,你会发现,英文的文档,看起来比中文的顺眼了。为什么要找自己熟悉的技术看,因为那样的话,你更容易理解和增加信心。
英语学习是个长期的过程,推荐一篇好文,具体教你如何学习和提高英语:老码农教你学英语
技术指南
学习官方的一些技术指南
Apple dev里有各种文档 建议从一些指南开始, 这样能比较系统的学习某个模块的知识。
比如你要系统的学习下AutoLayout ,那你就看看Auto Layout Guide 。
这里各种技术模块指南首页
WWDC视频资料
文本文档的技术文档看腻了?别怕,Apple 是 个人性化的公司,他们每年举办的 WWDC, Apple 的技术专家会针对新技术和部分技术主题进行课堂讲解。
可供学习视频这里 可以找到。视频的主题太多,你只需挑你想了解的主题学习即可。官方提供的视频都是没有字幕的,那怎么办?给大家一个非常好的网站 ,它把最近几年WWDC的各个课堂演讲都整理成文字版了:http://asciiwwdc.com/ 放心,文字版肯定也是英文的。
写博客
关注和收藏一些适合你胃口的iOS开发个人博客,并且开始写自己技术博客
为什么说是合适自己胃口啊?现实中毕竟学霸还是少数,学渣是多数。 你关注的博客太高层建瓴,超出了自己的理解和能力范围,只会让自己觉得自卑。总感觉自己写的东西拿不出手。上学的时候学霸的学习方法你学不来,到了工作了,学霸的博客,你只能仰望。合适自己胃口就是,文章看起来能理解,并能转化成自己的东西。临渊羡鱼,不如退而织网。现在就开始写博客吧。
这里推荐两篇文章,和大家共勉
作为技术人员为什么要写博客:http://blog.jobbole.com/48962/
即便没有读者,你也要写博客:http://blog.jobbole.com/38258/
阅读源码
阅读优秀的iOS开源项目源码
有时候是不是觉得自己写的代码很烂,但是又不知道怎么改进。我觉得阅读优秀的开源项目是个不错的选择。iOS优秀的开源项目数不胜数。找一个自己比较熟悉常用的开源项目,自己分析
,写写博客分享
。思考
下开源项目里用到了哪些设计模式
,用到了哪些API技术
,如何运用到自己的实际项目中去。
开源项目
编写提交自己的开源项目
现在技术招聘开始关注你在Github上有几个开源项目,有多少star
和Fork
。这些比简历含金量高。Github上的项目比简历真实。你在Github上的项目提交代码的记录
、质量
,都能看得到。那么自己写开源项目的好处就不言而喻了。技能提高自己,有能给自己将来跳槽增加砝码。
小结
perl的发明人Larry Wall在其著作《Perl编程》第二版添加具有幽默意味的名言:程序员有三种美德:懒惰,急躁和傲慢...
Laziness
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer, Also hence, this book.
懒惰:
是这样一种品质,它使得你花大力气去避免消耗过多的精力。它敦促你写出节省体力的程序,同时别人也能利用它们。为此你会写出完善的文档,以免别人问你太多问题。
Impatience
The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer.
急躁:
是这样一种愤怒——当你发现计算机懒洋洋地不给出结果。于是你写出更优秀的代码,能尽快真正的解决问题。至少看上去是这样。
Hubris
Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer.
傲慢:
极度的自信,使你有信心写出(或维护)别人挑不出毛病的程序。
如果你还是不知道从何做起?看这篇文章《千万不要做一个思维上“懒惰”的“勤奋”人!》