从2013年12月入坑至今,差不多做了一年半iOS开发,回顾一下学习的过程
学习iOS开发的几个阶段
首先我觉得,学习一门语言,需要5个步骤:
1、了解语言本身。比如首先需要了解objective-c的特性,以及各种相关的东西。从基础的变量类型、语法,到语言的高级特性如block、反射等等
2、了解平台。如UIView的类层次结构,UIViewController的生命周期,app的生命周期,KVO,常见的模式比如target-action,delegate,datasource等
3、熟悉平台的各种常用不常用API。比如UIKit,Core Graphics,Core Animation,Core Data,APNS等
4、了解业界的标准方案,第三方库。比如缓存、网络、数据库操作、界面刷新、数据同步、duang duang的特效等,基本上所有的场景都有对应的解决方案和开源库,比自己造轮子要好得多,但是如果基础比较扎实,就可以很容易理解开源库的实现,还可以提交pr帮忙改进
5、更底层的东西。比如用纯C来实现objective-c无法做到的事
主要的学习方法
1、官方资料,包括苹果develop中心的各种guide和reference,还有WWDC每年的视频。这是最权威和最新的资料,是必须熟悉和跟进的。如果在所有学习方法里只能选一种,那么这是唯一不能舍弃的
2、纸质书和电子书。好的出版物,可读性和系统性通常都很不错,比官方文档更好。这一年半我也看了很多iOS开发相关的书,印象中觉得帮助比较大的主要是fundamentals,pushing the limit,EOC,programing等几本。是的,英文的书质量明显碾压中文版,即使是国内的一些iOS资深开发者,虽然开发水平不错,但是出的书的质量都一般
3、开源项目的源码。比如AFNetworking,SDWebImage,FMDB等业界知名开源库,其源码都值得一读
4、优质的博客、微博、公众号。这类信息都比较碎片化,深度也比较浅,但是好处是及时性最强,更多的是可以起到引导阅读的作用。比如前几天facebook刚开源的react native,业界就炒的很热,那么从微博上知道了这个信息,就可以自己进一步去找资料更深入地学习
5、最核心的,多写
个人的学习经历
之前我对后端和web非常熟悉,也有一点android的经验,但是iOS是全新接触。最后大约3个月的时间完成了第一个iOS项目,是基于iPad的。因为是从零到一的过程,所以自己觉得进步很明显,每天都接触新的东西,工作也觉得非常开心。那个阶段主要是打基础,objective-c语言本身和iOS平台的特性基本都接触了,各种第三方库也用得七七八八,尤其是FMDB和cordova,因为踩了不少坑,所以也掌握得特别清楚
后来开始做第二个APP,主要是在做的过程中,把原理和基础知识又梳理了一遍,另外为了绘制报表,不光是使用UIKit,还把Core Graphics那套API也玩了一遍,最后把几种常用的报表图(饼图,柱状图,折线图等)抽取出来,做了个控件库放到了github上
最近又在做一个新的APP,这次就觉得挑战比较小了,基本上没有太新的东西。但是现在iPhone有4种尺寸了,宽高比也不统一,所以以前不用太在意的屏幕适配问题变得比较突出。我们的UI是纯手写的,不用storyboard和xib,所以用了masonry来做约束,感觉还不错
分享到:
相关推荐
书签功能则可以帮助你在学习过程中随时记录重要知识点,方便回顾和查找。总之,《iOS Apprentice v6.0》是学习Swift 4和iOS开发的理想起点,无论你是编程新手还是希望转战iOS平台的开发者,都能从中受益。
根据提供的信息,我们可以推断出这是一本关于iOS开发进阶的书籍,作者为唐巧。...无论是对于想要深入了解iOS开发细节的专业人士还是对于希望通过系统学习进入该领域的初学者来说,都是一本非常有价值的参考书籍。
iOS应用开发是一个涉及多方面技术的过程,涵盖了从基础的开发环境搭建到高级的设计模式应用。根据提供的文件内容,我们可以总结出...它提供了细致的步骤,帮助开发者学习如何利用Xcode和Objective-C进行iOS应用的开发。
本篇文章将深入探讨如何进行iOS环境搭建,主要针对初级开发者,但也适合那些需要回顾基础知识的进阶者。 首先,我们需要安装Apple的开发者工具Xcode。Xcode是iOS应用开发的集成开发环境(IDE),包含了一系列的工具...
在深入探讨俄罗斯方块的iOS源码之前,我们先简单回顾一下“俄罗斯方块”这款游戏的历史与基本玩法。俄罗斯方块是由苏联程序员阿列克谢·帕基特诺夫在1984年创造的一款经典益智游戏,因其简单的规则和无穷无尽的挑战...
学习过程中,掌握Git版本控制系统也非常重要。查看项目中的.gitignore文件,理解如何管理版本和协作开发。 通过深入研究这个源码,不仅可以学习到iOS7应用开发的基础,还能提升实际编码技能。每个开发者都应该习惯...
通过深入学习和理解以上知识点,iOS开发者不仅能在面试中表现出色,还能在实际工作中提升自己的专业水平。这份【面试宝典】无疑是提升技能、拓宽知识视野的宝贵资源。同时,配合【印象笔记.pdf】,可以更系统地整理...
本书名为《一步一步学习 iOS 6 编程(第四版)》,是为 iOS 开发初学者以及有经验的开发人员准备的一本经典...对于有经验的开发者来说,本书也是一个很好的参考资料,能够帮助他们回顾基础知识,学习更多高级特性的使用。
- **总结回顾**:回顾iOS 8中介绍的所有关键技术点。 - **未来展望**:展望未来iOS版本的发展趋势及新特性。 综上所述,《iOS 8 by Tutorials》这本书涵盖了iOS 8中许多重要的技术和特性,不仅适合初学者入门,也...
这份教程源自斯坦福大学的课程,旨在帮助开发者深入理解iOS开发过程,提升技能,并充分利用Xcode4.2的特性。 Xcode是Apple官方的集成开发环境(IDE),用于构建MacOS和iOS应用程序。Xcode4.2在当时引入了许多改进...
而通过“Just Enough C”这一章节标题,我们可以推测出书籍在开始讲解iOS开发之前,对C语言进行了基础知识的回顾。这是因为Objective-C,iOS开发的官方编程语言,本质上是C语言的超集,因此掌握C语言对于学习...
这篇文档是一位独立开发者Matej Jan回顾其在iOS和Mac平台上发行游戏《Monkey Labour》失败的经历。他强调,这篇文章并不是在抱怨失败,而是分享他在游戏发行、市场营销和销售中吸取的教训,希望对其他独立开发者有所...
这份"iOS开发人员必看资料(共100个)"的资源集合,显然是一个全面的学习宝库,旨在帮助开发者提升专业技能,理解并掌握iPhone应用开发的核心技术。下面将详细阐述这份资料可能涵盖的一些关键知识点。 1. **Swift...
在iOS面试过程中,掌握全面而深入的技能至关重要。这份“iOS面试资料全集”涵盖了iOS开发者需要了解的关键知识点,无论你是求职者还是在职者,都能从中受益匪浅。以下是主要的几个方面: 一、Swift语言基础 Swift是...
教程最后对每个部分进行了回顾,并提供了下一步的学习建议。教程鼓励开发者不仅要学会如何编程,还要能够找到正确的信息来源,使用Xcode的帮助文档、指南和API参考等资源来解决开发过程中遇到的问题。 ### 附加资源...