iOS开发知识体系

作者: SeeLee | 来源:发表于2014-12-29 23:03 被阅读9536次

    之前看过一篇博客,博主梳理一个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语言 初学需了解,进阶必修。

    Swift 未来之星,迟早要精。 学习地址/中文版

    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.主动学习,最佳入口当然是最原始的。

    imgimg

    在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上有许多优秀的开源项目,在真正的开发过程中,某些著名的开源库大家也都广泛的使用着。如:

    AFNetworking

    SDWebImage

    MJRefresh

    EGOTableViewPullRefresh

    JDStatusBarNotification

    在开源社区还有着大量优秀的代码,我们不仅仅是可以直接使用这些代码从而提高我们的开发效率,而且还可以学习优秀的iOS开发者的代码风格以及实现思路。

    最后的推荐

    官方正宗,一起武功的起源

    objc中国

    matt 大神博客

    猫神大神博客

    唐巧博客

    阳神

    后续会继续针对某些点来写一些详细的介绍。

    相关文章

      网友评论

      本文标题:iOS开发知识体系

      本文链接:https://www.haomeiwen.com/subject/rzqztttx.html