iOS Technologies

iOS技术


你刚刚学习了如何编写一个带有简单用户界面和基本行为的app。现在,你或许思考关于实现额外的行为把你的工程变为全功能的app。

当你思考哪些功能是你想添加的时候,记住,你不必从头开始实现每一件事。iOS提供了框架,它定义了一整套特殊的功能集合——从游戏和多媒体到安全性和数据管理——这些你都可以整合到你的app中。你已经使用了UIKit框架来定义你的app用户界面,以及Foundation框架来合并通用数据结构和行为到你的代码。这是众多在iOS app 开发的时候使用的常见框架中的两个,但还有更多现成的框架可以使用。


本章高度概括的介绍了一些你或许考虑用在你的app上的技术和框架。使用本章作为可用的技术探索的起点。想要获得完整的在iOS可用的技术概述,参见iOS Technology Overview


User Interface

用户界面

iOS有很多框架和技术用来创建和加强你的app的用户界面。

UIKit. UIKit框架提供了创建一个基于触摸的用户界面。因为所有的iOS app都是基于UIKit,所以你不能没有它。UIKit提供了绘制屏幕的基础结构、处理事件、并创建常用的用户界面元素。UIKit也通过管理显示在屏幕上的内容来组织复杂的app。要想更多的信息,参见UIKit Framework Reference

Core Graphics. Core Graphics——低级、基于C的框架——是一个干重活的家伙,它处理高质量矢量图、基于路径的绘制、转换、图像、管理数据以及更多内容。当然,在iOS中创建图形最简单和最有效的方式是使用UIKit框架里的标准制图和控制器来预渲染图像,让iOS来绘制。因为UIKit,一个高级的框架,还提供了自定义绘制——包括路径、颜色、图案、渐变、图像、文本以及转换——的类,尽可能的使用它而不是Core Graphics。要想获得更多的信息,参看Core Graphics Framework Reference

Core Animation. 核心动画Core Animation是一项允许你创建高级动画和视觉效果的技术。UIKit提供的动画是建立在Core Animation技术上的。如果你需要超越UIKit的高级的动画效果,你可以直接使用Core Animation。Core Animation接口包含在Quartz Core 框架中。使用Core Animation,你需要创建一个层对象的层次,用来操作旋转、缩放、转换等等。通过熟练使用Core Animation视图抽象,你能创建动态用户界面而无需使用低级图形API,例如OpenGL。要更多的信息,参见Core Animation Programming Guide


Games

游戏

在你开发iOS游戏的时候,你探索许多不同的技术。

Game Kit. Game Kit框架提供游戏排行榜、成就以及其他功能来添加到你的iOS游戏中。更多的信息参见Game Kit Framework Reference

Sprite Kit. Sprite Kit(精灵工具集)框架为任意动画图像纹理或精灵提供图形支持。除了作为一个图形引擎之外,它还包含对所持对象生存期的物理支持。Sprite Kit是游戏和其他需要复杂动画连接的app的一个好选择。(其他类型的用户界面动画,使用Core Animation代替)。更多信息详见Sprite Kit Programming Guide

OpenGL ES.OpenGL ES是低级框架,它提供支持2D和3D绘制的硬件加速工具。Apple的OpenGL ES实施标准与设备硬件紧密协作来提供全屏高帧频、游戏样式app。因为OpenGL ES是低级、专注硬件的API,它学习难度答但在app总体设计的时候有效果显著。(想要app具有高效能的图形和更专业的使用,考虑使用OpenGL ES 或者Core Animation)。更多的信息见OpenGL ES Programming Guide for iOS

Game Controller. 游戏控制器框架(Game Controller)使得找到控制器和Mac或者iOS设备之间的联系变得容易。当控制器在你的设备上被发现,你的游戏读取控制输入作为一般游戏配置的一部分。这些控制器为玩家控制游戏提供新的方式。Apple已经为硬件控制器设计了规范来确保所有的控制器有一致的控制元素,以便玩家和有游戏设计者能依靠。详情见Game Controller Framework Reference


Data

数据

在处理app的数据时,考虑在已有的框架中哪些功能可以为你所用。

Core Data. Core Data框架管理app的数据模型。使用Core Data,你要建立模型对象,称为管理对象。你管理这些对象之间的关系并通过框架来更改数据。Core Data利用内置的SQLite技术来有效的存储和管理数据。更多的信息详见Core Data Framework Reference

Foundation.在这个指南较早的时候,你已经在Foundation上工作了。Foundation框架定义了一个Objective-C类的基础层。除了提供一组有用原始对象类,这个框架还介绍了几种没有被Objective-C语言涵盖的定义行为的规范,这个框架包括的代表类基本数据类型,例如字符串和数字、以及存储其他对象的集合类。更多的信息详见Foundation Framework Reference


Media

媒体

媒体框架提供几种功能来处理app中的音频和视频。

AV Foundation. AV Foundation是你能用来播放和创建基于时间的视听媒体的几种方法之一。举个例子,你能使用AV Foundation来研究、创建、编辑或者重新编码媒体文件。你也能使用它来从硬件得到输入流以及在播放时操作视频捕捉和回放。更多信息详见AV Foundation Framework Reference

Tutorial: Add Data

Finding Information

Copyright 2014 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2013-10-22