关于iOS技术
iOS是运行在iPad,iPhone和iPod touch设备上的操作系统。这个操作系统管理着这些设备的硬件并且提供了实现原生APP所需的技术。这个操作系统也附带许多系统APP,例如Phone,Mail和Safari,这些应用为用户提供了标准的系统服务。
iOS软件开发工具(SDK)包含了用来开发,安装,运行和测试那些运行在iOS设备上的原生APP的工具和接口 。原生APP是用iOS系统框架和Objective-C语言开发,而且能够直接在iOS上运行。不像web应用,原生APP安装在本地,所以即使当设备在飞行模式下仍然能为用户提供有效服务。这些APP与系统应用安装在一起,APP本身和用户的数据都能够通过iTunes同步到用户电脑。
注意:在iOS中能够结合使用HTML,CSS和JavaScript编码来创建一个web应用。web应用运行在Safari浏览器中,web应用需要网络连接来使用网络服务。这篇文档不包括创建web应用的内容。更多关于创建web应用的信息请查看Safari Web Content Guide。 |
概览
iOS SDK提供了开发原生APP的资源。理解一点SDK中的技术和工具能够帮助你在思考如何设计和实现你的应用时做出更好的选择。
iOS是层状结构的
在最高层级,iOS扮演着在底层硬件和你创建的APP之间的媒介的角色。APP不会直接与底层硬件通信。作为替代,APP通过一套定义明确的系统接口与硬件进行通讯。这些接口让创建能够在不同硬件性能的设备上都能正常运行的APP变得简单。
iOS的技术实现能够被看做是一组层级的组合,如下图所示。低层级包括基本服务和技术。高层及是在低层级的基础上建立的,它们提供了更多复杂的服务和技术。
当你编写代码时,推荐使用高层级的框架。高层级的框架提供了面向对象的底层结构的抽象。这些抽象一般来说使编码更简单,因为减少了大量必须写的或者用来封装可能非常复杂特征的代码,例如sockets和threads。如果在低层级的框架中包含着一些没有在高层及框架中暴露技术时你也可以使用低层级的框架。
关键字:Cocoa Touch Layer, Media Layer, Core Services Layer, Core OS Layer |
iOS技术被打包成框架
苹果提供的系统接口大多数在一个特殊的包内,这个包被称作框架。所谓框架就是一个字典,这个字典包含了一个动态共享库和支持库的相关资源(例如头文件,图片和辅助应用)。使用框架时,你可以通过Xcode将这些框架添加到你的工程中。
关键字:iOS Frameworks |
开发者库能够帮助你
iOS开发者库是开发时需要用到的一个非常重要的资源。这个库中包含了API参考,编程指导,版本注释,技术文档,代码示例,同时也提供了一些其他的资源,这些资源提供了一些窍门和指引来帮助你用最好的方式来创建你的应用。
你可以在Apple Developer网站或者从Xcode中使用到iOS开发者库。在Xcode中,选择Help > Documentation and API Reference来打开Xcode文档窗口,这是使用iOS开发信息的*资源。你可以使用文档窗口来浏览,搜索和标记文档。
如何使用文档
iOS技术概览这篇文章是为所有刚开始在iOS平台开发的人员的一个入门指南。它提供了一个技术和工具的概览,这个概览对开发过程产生影响,并且提供了相关文档和其他信息源的链接。你应该这样来使用文档:
·让你自己适应iOS平台
·学习iOS软件技术,思考你为什么很想去使用这些技术,还有你什么时候去使用这些技术
·了解平台的发展机遇
·获取关于从其他平台转到iOS平台的一些建议和指导
·找到与你感兴趣的技术相关的关键文档
这篇文章不能提供用户级特性的信息,也不能影响到软件开发过程,更无法列出具体的iOS设备硬件性能。新的开发者应该知道,这篇文章是用来熟悉iOS。有经验的工程师可以把这篇文章当做是一张用来探索技术和开发技巧的地图。
另请参阅
如果你是刚刚接触iOS开发,这本书只能提供关于系统的概览。要想学习更多关于iOS APP开发的知识,你需要阅读下面的文档:
·Start Developing iOS Apps Today提供了整个开发过程的指导,从如何配置你的系统开始到将App提交到App Store的流程为止。如果你是刚开始做iOS App开发,这将会是另外一种探索iOS开发的起点。
·iOS Human Interface Guidelines提供了如何设计你的用户界面的相关指导和信息
·App Distribution Guide,它从开发工具的角度描述了iOS的开发过程。这篇文章中介绍了开发所需配置和设备配置,同时也包含了使用Xcode和其他工具来创建,运行和测试你的软件。
在苹果设备上开发,你要注册并付费加入iOS Developer计划,然后配置一台设备做开发用。你注册以后,将会在iOS Dev Center获得Xcode和iOS SDK的备份。
============================================================================================================
原文:
About the iOS Technologies
iOS is the operating system that runs on iPad, iPhone, and iPod touch devices. The operating system manages the device hardware and provides the technologies required to implement native apps. The operating system also ships with various system apps, such as Phone, Mail, and Safari, that provide standard system services to the user.
The iOS Software Development Kit (SDK) contains the tools and interfaces needed to develop, install, run, and test native apps that appear on an iOS device’s Home screen. Native apps are built using the iOS system frameworks and Objective-C language and run directly on iOS. Unlike web apps, native apps are installed physically on a device and are therefore always available to the user, even when the device is in Airplane mode. They reside next to other system apps, and both the app and any user data is synced to the user’s computer through iTunes.
Note: It is possible to create web apps using a combination of HTML, cascading style sheets (CSS), and JavaScript code. Web apps run inside the Safari web browser and require a network connection to access your web server. This document does not cover the creation of web apps. For more information about creating web apps in Safari, see Safari Web Content Guide.
At a Glance
The iOS SDK provides the resources you need to develop native iOS apps. Understanding a little about the technologies and tools contained in the SDK can help you make better choices about how to design and implement your apps.
The iOS Architecture Is Layered
At the highest level, iOS acts as an intermediary between the underlying hardware and the apps you create. Apps do not talk to the underlying hardware directly. Instead, they communicate with the hardware through a set of well-defined system interfaces. These interfaces make it easy to write apps that work consistently on devices having different hardware capabilities.
The implementation of iOS technologies can be viewed as a set of layers, which are shown in Figure I-1. Lower layers contain fundamental services and technologies. Higher-level layers build upon the lower layers and provide more sophisticated services and technologies.
As you write your code, it is recommended that you prefer the use of higher-level frameworks over lower-level frameworks whenever possible. The higher-level frameworks are there to provide object-oriented abstractions for lower-level constructs. These abstractions generally make it much easier to write code because they reduce the amount of code you have to write and encapsulate potentially complex features, such as sockets and threads. You may use lower-level frameworks and technologies, too, if they contain features not exposed by the higher-level frameworks.
Relevant chapters: Cocoa Touch Layer, Media Layer, Core Services Layer, Core OS Layer
The iOS Technologies Are Packaged as Frameworks
Apple delivers most of its system interfaces in special packages called frameworks. A framework is a directory that contains a dynamic shared library and the resources (such as header files, images, and helper apps) needed to support that library. To use frameworks, you add them to your app project from Xcode.
Relevant sections: iOS Frameworks
The Developer Library Is There to Help You
The iOS Developer Library is an important resource for you to use during development. The library contains API reference, programming guides, release notes, tech notes, sample code, and many other resources offering tips and guidance about the best way to create your apps.
You can access the iOS Developer Library from the Apple Developer website or from Xcode. In Xcode, choose Help > Documentation and API Reference to display the Xcode documentation window, which is the central resource for accessing information about iOS development. Use the documentation window to browse, search, and bookmark documents.
How to Use This Document
iOS Technology Overview is an introductory guide for anyone who is new to the iOS platform. It provides an overview of the technologies and tools that have an impact on the development process and provides links to relevant documents and other sources of information. You should use this document to:
- Orient yourself to the iOS platform
- Learn about iOS software technologies, why you might want to use them, and when
- Learn about development opportunities for the platform
- Get tips and guidelines on how to move to iOS from other platforms
- Find key documents relating to the technologies you are interested in
This document does not provide information about user-level features that have no impact on the software development process, nor does it list the hardware capabilities of specific iOS devices. New developers should find this document useful for getting familiar with iOS. Experienced developers can use it as a road map for exploring specific technologies and development techniques.
See Also
If you’re new to iOS development, this book provides only an overview of the system. To learn more about how to develop iOS apps, you should read the following documents:
- a target="_self" Start Developing iOS Apps Today/a provides a guided tour of the development process, starting with how to set up your system and ending with the process of how to submit apps to the App Store. If you are new to developing iOS apps, this is another good starting point for exploring iOS app development.
- iOS Human Interface Guidelines provides guidance and information about how to design your app’s user interface.
- App Distribution Guide describes the iOS development process from the perspective of the tools. This document covers the configuration and provisioning of devices for development and covers the use of Xcode (and other tools) for building, running, and testing your software.
To develop on a device, you sign up for Apple’s paid iOS Developer program and then configure a device for development purposes. After you sign up, obtain a copy of Xcode and the iOS SDK at the iOS Dev Center