iOS框架

参考文章

iOS的主要框架介绍
iOS 系统架构及常用框架(iOS的系统架构分为四个层次)

什么是框架

1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多
2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer)

iOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架。

在这里插入图片描述

iOS系统架构的四个层

1. 触摸层(CocoaTouch):

为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。它包括以下这些组件:

Multi-Touch Events Core Motion Camera

View Hierarchy Localization Alerts

Web Views Image Picker Multi-Touch Controls

2. 媒体层(Media):

通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。它包括以下这些组件:

Core Audio OpenGL Audio Mixing

Audio Recording Video Playback JPG,PNG,TIFF

PDF Quartz Core Animation

OpenGL ES

3. 核心服务层(CoreServices):

我们可以通过它来访问iOS的一些服务。它包括以下这些组件:

Collections Address Book Networking

File Access SQLite Core Location

Net Services Threading Preferences

URL Utilities

4. 核心操作系统层包括(CoreOS):

内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。核心操作系统层包括以下这些组件:

OS X Kernel Mach 3.0 BSD

Sockets Power Mgmt File System

Keychain Certificates Security

Bonjour

iOS的APP框架

这部分只搜到这些iOS的App框架到底是什么?
表示层(UIKit Framework)
业务逻辑层(业务逻辑、controller的逻辑)
数据持久层(SQLite API、Core Data、HTTP等网络通信技术)
信息系统层(SQLite DB、文件系统、云服务)

常用框架之Foundation——为所有的应用程序提供基本系统服务(核心服务层)

Foundation框架为所有的应用程序提供基本系统服务

你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。

使用Foundation可以:

  • 创建和管理集合,比如数组和字典
  • 访问存储在应用程序里的图片和其它资源
  • 创建和管理字符串
  • 提交和接收通知
  • 创建日期和时间对象
  • 自动发现IP网络上的设备
  • 操作URL流
  • 执行异步代码

常用框架之UIKit——提供创建基于触摸用户界面的类(触摸层)

所有的iOS应用程序都基于UIKit,你不能是应用程序脱离这个框架。UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。

使用UIKit可以:

  • 构建和管理你的用户界面
  • 捕获触摸和基于移动的事件
  • 呈现文字和web内容
  • 优化你的多任务程序
  • 创建定制的用户界面元素

一些其他重要框架

Core Data框架——管着你应用程序数据模型(核心服务层)

Core Data提供对象的管理,使用Core Data,你可以创建模型对象,并管理这些对象。你管理这这些对象间的联系并修改数据。Core Data提供的内建SQLlite技术可以高效的管理数据。

使用Core Data可以:

  • 在库里存储和接收对象
  • 提供基本的undo/redo
  • 自动验证属性值
  • 过滤、分组和优化内存中的数据
  • 用[NSFetchedResultsController]管理表视图中的结果
  • 支持基于文档的应用程序

Core Graphics框架——帮助你创建图形(媒体层)

高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit和iOS完成绘制。但是当你需要创建复杂的图形时,Core Graphics则提供了更底层的库来帮助你。

使用Core Graphics可以:

  • 创建基于路径的绘图
  • 抗锯齿渲染
  • 添加梯度、图片和颜色
  • Use coordinate-space transformations.
  • 创建、显示和分析PDF文档

Core Animation——允许你创建高级的动画和虚拟效果(媒体层)

UIKit提供建立在Core Animation之上的动画。如果你需要比UIKit能力更高级的功能,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里。使用Core Animation可以创建嵌套的对象,并且可以对它们操作、旋转、缩放和转换。使用Core animation,你可以创建动态的用户界面而不用使用更底层的图形API,如OpenGL ES。

使用Core Animation可以:

  • 创建定制动画
  • 添加定时函数和图形
  • 支持帧动画
  • Specify graphical layout constraints.
  • Group multiple-layer changes into anatomic update.

OpenGL ES 框架——提供2D和3D绘图工具(媒体层)

OpenGL ES支持2D和3D绘图,Apple的OpenGL ES实现通过硬件提供了高速的全屏游戏式的应用程序。

使用OpenGL ES可以:

  • 创建2D和3D图形
  • 创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏
  • 访问底层图形设备

一些别的框架

这里只做截图保存,具体请移步iOS的主要框架介绍

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值