关于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

iOS Technology Overview_Introduction的更多相关文章

  1. ios 程序学习

    马上着手开发iOS应用程序:五.提交应用与寻找信息 2013-01-11 15:36 佚名 apple.com 我要评论(0) 字号:T | T 本文介绍了您已经学习完如何开发一个优秀的iOS应用之后 ...

  2. iOS开发,新手入门指导

    在做了近两年wp,安卓开发之后,某一天突然决定投身iOS的开发之中. 因为一直用的mac,做wp开发的时候都用双系统,vs开久了,就会比较烫,这点让人不爽.后来更多地做安卓,直接mac下开发,很舒适的 ...

  3. iOS Document Interaction(预览和打开文档) 编程指南

    原文:http://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteracti ...

  4. iOS Document Interaction 编程指南

    本文转载至 http://www.2cto.com/kf/201306/219382.html iOS支持在你的app中用其他app预览和显示文档.iOS还支持文件关联,允许其他app通过你的程序打开 ...

  5. ios notification

    apps can use local or push notifications to let people know when interesting things happen, such as: ...

  6. 如何学习ios(摘自知乎https://www.zhihu.com/question/20016551)

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Wang Hailong链接:https://www.zhihu.com/question/20016551/answer/1 ...

  7. iOS-关于使用其他应用打开本应用文档

    简介:本片文章是对官方文档的翻译,非常的感谢文章的翻译者:颐和园 官方地址:Document Interaction Programming Topics for iOS 文章的介绍内容: ***** ...

  8. 苹果Xcode帮助文档阅读指南

    文档导读 https://developer.apple.com/legacy/library/navigation/ 前面我们讲Xcode的文档结构是在介绍如何能够快速定位到你要找的内容.但是很多人 ...

  9. 1.9 From Native to HTML5

    The mobile technology has become more and more mature, and it has evolved from a ridiculous situatio ...

随机推荐

  1. 整合ssh model $$_javassist_13 cannot be cast to javassist.util.proxy.Proxy

    经goole stackoverflow 发现是 javassit 包冲突 项目使用的是maven 检查依赖包

  2. solrcloud使用中遇到的问题及解决方式

    首先声明,我们团队在使用solrcloud过程中踩了一些坑,同事(晓磊和首富)进行了总结,我列到我的博客上做记录用: Q:为什么Solr里面的时间比数据库里面早8小时? Solr默认采用的时区是UTC ...

  3. BEA-150021 - The admin server failed to authenticate the identity of the user username starting the managed server.

    原因:用户名.密码错误. 解决方法:修改boot.properties用户名密码为明文方式,然后重新启动就OK了,自动加密.

  4. Hadoop第4周练习—HDFS读写文件操作

    1    运行环境说明... 3 :编译并运行<权威指南>中的例3.2. 3 内容... 3 2.3.1   创建代码目录... 4 2.3.2   建立例子文件上传到hdfs中... 4 ...

  5. 设计师必备!免费下载 PSD 素材的32个网站

    今天我想和大家分享一组可以免费下载 PSD 图形素材的最好的网站. PSD 文件是非常有用的资源,因为你可以看到所有的层,使用了什么技术来创建出这些作品和效果. 某些列出的网站可能已是众所周知的,但你 ...

  6. Web 项目可能会用到的20款优秀的开源工具

    开源的应用程序和它们的源代码可以免费获得,因为版权是属于任何进行过修改或者提交代码的人.大多数提供开源软件的公司都可以建立行业标准,因此可以获得有利的竞争优势. 很多的开源应用程序和工具都有很强的替代 ...

  7. 自增长的聚集键值不会扩展(scale)

    如何选择聚集键值的最佳实践是什么?一个好的聚集键值应该有下列属性: 范围小的(Narrow) 静态的(Static) 自增长的(Ever Increasing) 我们来具体看下所有这3个属性,还有在S ...

  8. Node之pm2

    最近在项目中使用了Node,在程序部署的时候直接使用命令:node app.js ,这样我们的程序就可以host起来了,但是只要dos窗口关掉之后node就关闭了,这使得我们很不方便,于是乎发现了pm ...

  9. 用SQL语句修复SQL Server数据库

    使用数据库的过程中,由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢,查询不到符合条件的数据等. 出现这些情况的原因,往往是因为数据库有些损坏,或索引不完整. 在ACCESS中 ...

  10. YAML初探

    http://www.cnblogs.com/chwkai/archive/2009/03/01/249924.html 1 概念YAML是一种人们可以轻松阅读的数据序列化格式,并且它非常适合对动态编 ...