iOS 开发技术体系图:

  1. - 层级 | 主要框架
  2. - ---------------------|--------------------------------------------------------------------------------------
  3. - Cocoa Touch | UIKit
  4. - Media | Core Graphics OpenGl ESCore Animation
  5. - Core Services | Core DataFoundation
  6. - Core OS | Accelerate FrameworkExternal Accessory FrameworkSecurity FrameworkSystem
  • 从图中可以看到,要想编写成型的产品,需要的不仅仅是语言本身,同时许多库需要协同使用。语言只是产品开发的“胶水”,而框架和上面的这些库才是 iOS 产品的骨架。Swift 语言能够无缝的调用所有库。
  • Cocoa 是苹果开发体系的统称,Cocoa 包含一些主要的 OC 对象库,我们称这些对象库为框架。框架是由许多类、方法、函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易。为所有程序开发奠定基础的框架称为 Foundation 框架。
  • 术语 Cocoa:是指 Foundation 、Core Data 和 AppKit(Application Kit) 框架框架。用于 Mac OS X 设备上的应用程序开发。
  • 术语 Cocoa Touch:是指 Foundation 、Core Data 和 UIKit 框架。用于 iOS 设备上的应用程序开发。

1、Core OS 核心层:

  • 包含 Accelerate Framework、External Accessory Framework、Security Framework、System 等几个框架,基本都是基于 C 语言的接口。
  • 是最接近于操作系统的一层,在这个层次上,主要实现硬件以及操作系统接口封装。

2、Core Services 核心服务层:

  • 包含

    1. Address Book Framework
    2. CFNetwork Framework
    3. Core Data Framework
    4. Core Foundation Framework
    5. Core Location Framework
    6. Core Media Framework
    7. Core Telephony Framework
    8. Event Kit Framework
    9. Foundation Framework
    10. Mobile Core Services Framework
    11. Quick Look Framework
    12. Store Kit Framework
    13. System Configuration Framework
    14. Block Objects
    15. Grand Central Dispatch
    16. In App Purchase
    17. Location Services
    18. SQLite
    19. XML Support 等一些框架,也基本都是基于 C 语言的接口。
  • Foundation 框架提供了字符串、数值的管理、容器及枚举、分布式计算、事件循环、URL 与数据流操作、国际化,以及其他与图形用户界面没有直接关系的功能。其中类和常数常用“NS”前缀来标志。
  • Core Data 框架主要在数据模型、数据存储方面发挥作用。在程序运行的时候,Core Data 框架会创建并管理数据模型的实例,同时还对外提供数据模型访问接口。除此之外,Core Data 还可以将对象数据存储在 SQLite 数据库以获得性能优化、管理 undo/redo(撤销/重做)等操作,还支持在内存中对数据进行归类、过滤及组织数据。

3、Media 媒体层:

  • 包含

    1. Core Graphics
    2. Core Animation
    3. OpenGL ES
    4. Core Text
    5. Image I/O
    6. Assets Library Framework
    7. Media Player Framework
    8. AV Foundation
    9. OpenAL
    10. Core Audio Frameworks
    11. AV Foundation
    12. Core Media 等等。
  • 媒体层包含图形技术(包含动画技术)、音频技术和视频技术,可以使用这层的技术更快速的创建高级的图形和动画,方便的获得音频、视频的支持。
  • 图形技术:是 iOS 应用程序的重要组成部分。创建应用程序最简单、最有效的方法是使用事先渲染过的图片,搭配上标准视图以及 UIKit 框架的控件,然后把绘制任务交给系统来执行。
  1. Core Graphics :也被称为 Quartz,用于处理本地 2D 向量渲染和图片渲染。
  2. Core Animation Quartz Core 框架的一部分,为动画视图和其他内容提供更高级别支持。
  3. OpenGl ES :为使用硬件加速接口的 2D 3D 渲染提供支持。
  4. Core Text :提供一个精密的文本布局和渲染引擎。
  5. Image I/O :提供读取及编写大多数图形格式的接口。
  6. Assets Library framework :资产库框架,用于访问用户照片库中的照片和视频。
  • 音频技术:iOS 音频技术可以用来播放或录制高质量的音频,也可以用于触发设备的震动功能。
  • 媒体播放器框架:是可以拿来即用的播放器。
  • AV Foundation :提供用于管理音频的播放或录制的接口。
  • Core Audio :可以使用此框架的接口播放系统的警报声音、触发的震动功能、管理多声道的缓冲和播放、对音频内容进行流化处理。
  • 视频技术:可用于播放应用程序包含的电影文件以及来自网络的数据流内容。如果设备具有合适的视频硬件,这些技术也可以用于捕捉视频,并可将捕捉到的视频集成到应用程序。
  • 媒体播放器框架:可用于播放应用程序中全屏或部分屏的电影。
  • AV Foundation :可以对电影的捕捉和播放进行管理。
  • Core Media :对较高级框架使用的底层类型进行描述,同时也提供一些底层接口,用于对媒体进行处理。

4、Cocoa Touch 触摸层:

  • 包括

  1. Address Book UI Framework
  2. Event Kit UI Framework
  3. Game Kit Framework
  4. iAd Framework
  5. Map Kit Framework
  6. Message UI Framework
  7. UIKit Framework 等等,

这一层基本都是基于 Objective-c 的接口。

  • 包含了用于 iOS 应用开发的图形界面构建的类。其中所有的类,都以“UI”为前缀。

iOS 开发技术体系的更多相关文章

  1. iOS开发技术分享(1)— iOS本地数据存储

    iOS开发技术分享(1)— iOS本地数据存储 前言: 我本是一名asp.net程序员,后来加入了iOS游戏开发队伍,到现在也有一年多的时间了.这一年来,每天都干到2.3点钟才睡觉,不为别的,只为了学 ...

  2. iOS 开发技术栈与进阶

    最近有一些开发朋友问我应该怎样提升自己的能力,回想起来做了这么久 iOS 开发,我也有过那种“让我做一个功能实现个需求我会做,但接下来怎样提高我不知道.”的时期,这里尝试列一下 iOS 开发的相关技术 ...

  3. iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用

    swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引 ...

  4. iOS 开发技术牛人博客

    dark_gmn 的博客   http://blog.csdn.net/dark_gmn?viewmode=contents Tel_小超 的博客  http://blog.csdn.net/qq_2 ...

  5. iOS开发技术 - 二维码扫描、生成

    QRecLevel:QR_ECLEVEL_H // 二维码容错率,最高为30%(即QR_ECLEVEL_H),即LOGO有大                                       ...

  6. iOS - OC iOS 开发体系

    1.iOS 开发技术体系 iOS 开发技术体系图: 层级 主要框架 Cocoa Touch UIKit 等 Media Core Graphics .OpenGl ES.Core Animation ...

  7. iOS - Swift iOS 开发体系

    1.iOS 开发技术体系 iOS 开发技术体系图: 层级 主要框架 Cocoa Touch UIKit 等 Media Core Graphics .OpenGl ES.Core Animation ...

  8. iOS开发--Bison详解连连支付集成简书

    "最近由于公司项目需要集成连连支付,文档写的不是很清楚,遇到了一些坑,因此记录一下,希望能帮到有需要的人." 前面简单的集成没有遇到什么坑,在此整理一下官方的集成文档,具体步骤如下 ...

  9. 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2

    原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...

随机推荐

  1. Box2D学习blog

    http://www.ladeng6666.com/blog/category/box2d/

  2. matlab神经网络工具箱创建神经网络

    为了看懂师兄的文章中使用的方法,研究了一下神经网络 昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本 % 生成训练样本集 clear all; ...

  3. 完美解决HALCON C#编程目标平台冲突问题

    完美解决HALCON C#编程目标平台冲突问题   楼主# 更多发布于:2016-11-23 10:06     背景: 目标机器工控机使用11.0.1 32位Halcon 原因你懂的.开发环境Win ...

  4. 循序渐进Python3(十三) --1-- django之form表单

    在上一次的代码上做出进一步修改,使之能在页面上显示报错信息. views.py from django.shortcuts import render, HttpResponse from djang ...

  5. MyEclipse jQuery智能 提示

    jQuery智能 MyEclipse Spket IDE 1.6.23 http://www.spket.com/download.html Plugin 1.6.23 5.62 MB Minimum ...

  6. kibana.yml(中文配置详解)

    # Kibana is served by a back end server. This controls which port to use. # server.port: 5601 # The ...

  7. Android Architecture Components

    https://developer.android.com/topic/libraries/architecture/index.html ViewModel 有LiveData Activity 监 ...

  8. 移植RT2870无线网卡驱动到s3c2416

    公司项目要用到usb无线网卡,芯片是ralink的RT2870.以下是将其驱动移植到s3c2416的步骤. 1.下载驱动源码,雷凌官网的下载地址是: http://www.ralinktech.com ...

  9. 幂等性的含义和 HTTP请求方法的幂等性

    幂等性的含义和 HTTP请求方法的幂等性 1.什么是幂等性 =============== 幂等性,英文是idempotent,读作[aɪ'dɛmpətənt]. 它的含义如下: “Methods c ...

  10. 201671010140. 2016-2017-2 《Java程序设计》java学习第六章

    java学习第六章    本周对与java中的接口,lambda表达式与内部类进行了学习,以下是我在学习中的一些体会:    1.接口: <1>.接口中的所有常量必须是public sta ...