怎么成为一名熟练的iOS开发者
英文原文地址:http://code.tutsplus.com/tutorials/where-to-go-next--mobile-14086
在过去的一段时间,你可能已经了解了许多iOS的基本知识和操作。菜鸟!此时你是否会感到迷惘呢?我希望能通过这篇博文,留给你们一些建议和学习的资源,帮助你们在更快的成为一名熟练的iOS开发者。
要注意的事情
尽管2007恍如昨日,但是移动互联领域,尤其是iOS,已经发展到了一个令人难以置信的高度。很难想象,没有了iPhone、iPad、iPod Touch的移动互联领域会变成什么样。随着iOS平台的普及和完善,并不缺少书籍、视频、课程和博客来引导你成为一名熟练的iOS开发者。
我们这一系列的资料应该已经让你从一名开发者的角度对iOS平台有了大致的了解。我的第一个忠告,坚持不断写你的iOS程序,不要等到你觉得有足够的能力创建一个真正的应用的的时候再开始。只有在不断写小程序的过程中,遇到问题,解决问题,才能让你更快的成长。遇到的问题越多,学到的越多。这并不意味着,每个应用都有意义刊登在App Store里,恰恰相反。我们一开始都应该通过设计特定的问题为目的,然后专注于写一个解决这个问题的程序。这些小程序,相当于一个个可重用的组件。专注于其重用性,你就不太可能写出意大利面条式的代码,一团糟。这个过程既锻炼了我们的编码能力,也为我们以后整合项目提供了资源,节省了时间。
这种方法也很适用于探索尝试你遇到的新的框架,或者开源库。在不断的小的项目建立中,我们会学习越来越多的知识,越来越熟悉Xcode,熟悉开发环境。这恰恰是iOS开发的另一个关键要素。
我的第二个忠告,避免直接从网上复制粘贴代码片段。除非你确定你不会收益于你复制的代码。当然,这可能会帮你暂时的解决困扰你许久的问题。你不知道的是,在这个过程中,你已经欠下了技术债务。这并不以为着你不能使用那些优秀的类库,如AFNetworking和Magical Record。这也并不意味着你要理解这些类库的每一个细节。如果你遇到了这样的抉择,花费了1、2个小时,自己编码解决了,这些时间是值得的。软件开发不仅仅是速度和成果。在个人层面上,自己编码解决才是最好的。通过复制粘贴你不理解的代码不能成为一名优秀的程序员。伟大的程序员没有捷径可走。
Mobiletuts+
在我开始列举资源的时候,我想先提一提。Mobiletuts+已经存在好几年了,已经建立在Mobile Tuts上的接近200的从初级到高级的高品质iOS开发教程,令人影响深刻。
到哪里寻求帮助?
Apple Developer Forums
如果你注册了iOS开发者账号,那么你可以访问苹果开发者论坛。在那里,不仅开发者发言踊跃,分享着自己的东西。也有专门的开发工程师维护论坛、框架和DTS(开发技术支持),有时这会节约你一天的时间。
求助Google或者Stack Overflow
无论何时你用Google搜寻你遇到的编程相关的问题,可能的话,都会显示结果在Stack Overflow。公正的说,Stack Overflow是革命性的软件开发和开发者社区。Stack Overflow难能可贵的一个地方是,他会把这个问题共享给别的社区,让更多的人受益。无论你是用什么语言或者平台开发,Stack Overflow都会让你受益匪浅。
GitHub
过去的的几年里,开源编码已经变得非常流行,GitHub肯定是这背后的助力之一。即然你是一名菜鸟iOS开发者,你可能不会促进iOS的开源项目。然而,没有什么可以阻止你探索一些开源项目和浏览一些源代码,看看别人是怎么做的。如果你能够通过探索学习其他人的代码编写加快你的学习,那么选择一个维护良好且积极开发的项目就是关键。
书籍
C程序设计
Object - C
视频
WWDC
苹果的全球开发者大会(WWDC)是苹果开发者的盛会。在WWDC上的每一个演示文稿都会被记录下来,不久后会开放给注册了IOS或者Mac的开发者们。视频的收集可以追溯到2010年,所以你有大量的资源可以观看。
iTunes U
通过苹果的iTunesU也可以获得大量视频。在过去几年不少大学也开设了相关课程,使用的就有这上面的免费教程。
博客
当我告诉你有成千上百的博客专门为iOS服务,你应该不会感到吃惊。我列出了几个我最喜欢的,还有许多等着你去发现,分享。
(由于部分网址需要×××,在此只列出可以直接访问的)
1.http://www.raywenderlich.com
2.http://www.cocoawithlove.com
感悟:马马虎虎翻译了一篇博文,也没有什么干货,更多的是为了锻炼一下自己,培养自己的自学能力。如果有幸被那位朋友看到了,也请谅解。因为这篇文章是以国外的基础写的,许多资源我们用起来不是那么方便,但是我认为这是开发这条路上想走的更远,必须克服的。这也是我要写这篇博客很大的一个原因。
很多程序员过得没有希望是因为他们的视野太窄了,除了看技术,就是看科幻,我建议他们多看看人文历史类的书籍,这样的书可以引导他们理解别人的内心,看看小说什么的也可以很大程度上补充他们看问题的角度。程序员整天面对的就那么几个人,经理就是监工的、客户就是×××,每个人的角色都已经设定好了,如果没有更多了解,圈子就会越来越窄。应该尝试开阔一下视野。我也希望能通过博客这个平台来达到这一目的。