之前看过一篇博客,博主梳理一个iOS开发知识与能力体系的思维导图,点击这里传送。作者梳理得非常不错但是扩展得非常大。如果是对于初学者来说,看着会被吓跑。在这里我来尝试梳理一下对于iOS初学者的知识体系。
开发环境
Mac
Mac mini、Mac book、iMac、黑苹果、OS X虚拟机都行,但真要好好搞iOS开发那就***不要黑苹果和虚拟机,这样会直接影响你对iOS开发的兴趣。同样,如果你用的是一台MacBook,这样会大大增加你对iOS的开发兴趣(MacBook***的程序员电脑)。PS:如何优雅的使用Mac
Xcode
到苹果开发者中心 下载 并安装。目前可以直接从Xcode 6开始入手了。
这里告诉你如何简单的使用Xcode
到此为止你已经能够安静开发出一个跑在iOS模拟器上的“Hello world”
开发者账号
非必须,如果你想将自己的程序跑在iPhone上的话,它就必不可少了,当然,如果你不是独立应用开发者的话,一般你所在的企业应该都有,让Agent或者Admin邀请你加入就可以了。
这里告诉你怎么理解开发者账号
开发语言
对于任意一门新的技术来说,首先我认为学习其语言肯定是必须的也是首要的,对于iOS开发也不例外。就目前而言,Objective-C、C语言、Swift这三种语言都应该要有所了解,当然重点还是Objective-C。
Objective-C 重中之重,必修必精。 学习地址
C语言 初学需了解,进阶必修。
iOS SDK
iOS的SDK学习可能是初学者需要耗时最多的一个知识。因为其中有大量的库需要我们来学习掌握。其中最基本的几个为:
Foundation.framework
在你学习使用iOS的过程中,你会碰到大量的"NS"前缀的类库,这些类库基本上属于Foundation.framework,它是iOS开发的核心库,其中包括:常用数据结构(NSArray/NSDictionary/NSString 等)、网络(NSURL../NSHTTP..)、多线程(NSThread/NSNSOperation)等。
UIKit.framework
库使用"UI"为前缀的类库被包含在这个framework中,这些大部分是系统的UI层面的控件。如UIViewController、UIView、UIButton、UILabel等。使用这些控件才能构建出一个完整的APP。
QuartzCore.framework
iOS中绚丽而平滑的动画效果,是吸引人的一大利器,如果你想做出这样的效果,那你就得了解这个库了。iOS的核心动画的API都被包含在这个framework中,学会使用它才能让你的APP更加亮眼。
当然,iOS的SDK中还有很多的framework,它们各自负责着自己的一部分,对于初学者来说,能将以上几个framework的API了解清楚,就已经能做出一个完整的属于自己的APP了。
如何学习这些framework呢?
1.主动学习,***入口当然是最原始的。
在Xcode的导航栏张找到对应的framework展开Header就可以看到对应的各类的头文件,点击进去就可以看到各个类的公共方法,并且有比较详细的注释。
2.被动学习,在开发过程中或者学习过程中,看到某些方法,不知道其具体的意思和用法,则可以在Xcode中通过 ⌘ + 鼠标单击当前方法就可以跳转到定义的头文件中去查看使用方法,或者通过 iOS Developer Library 搜索查询。
网络
网络这一块不仅仅指学会使用SDK中的网络API调用,而是指要去理解网络编程。
你需要知道HTTP协议消息结构、GET/POST方法、常见的状态码的意思、Request/Response。
你还需要知道与服务器通信使用的数据格式如:json、xml。
数据库
数据库你需要知道基本的SQL语句 select/update/insert/delete的操作;
需要知道怎么连接表查询:外连接、内连接、自连接等;
需要知道实体数据一对一、一对多、多对多关系如何设计数据库表。
GitHub
iOS有着很浓厚的开源精神,在GitHub上有许多优秀的开源项目,在真正的开发过程中,某些著名的开源库大家也都广泛的使用着。如:
在开源社区还有着大量优秀的代码,我们不仅仅是可以直接使用这些代码从而提高我们的开发效率,而且还可以学习优秀的iOS开发者的代码风格以及实现思路。