@IT·互联网程序员

SDK与API与GUI

2016-04-12  本文已影响853人  Kevin_wzx

1.什么是SDK?

  • 触控(Cocoa Touch):多点触控事件和控制(Multi-touch events and controls)、加速支持(Accelerometer support)、查看等级(View hierarchy)、本地化(i18n)(Localization (i18n))、相机支持
  • 媒体:OpenAL、混音及录音(Audio mixing and recording)、视频播放、图像文件格式(Image file formats)、Quartz、Core Animation、OpenGL ES
  • 核心服务:网络、SQLite嵌入式数据库、地理位置(GeoLocation)、线程(Threads)
  • OS X核心:TCP/IP协议、套接字(Sockets)、电源管理、文件系统(File system)、安全
  • Core Location:Core Location是一个软件框架,主要用来检测 iOS 设备的位置,在2008年3月6日开发者大会上宣布,并成为了iOS软件开发工具包的一部分。
  • SVG:从iOS 2.1固件开始,iPhone版Safari开始支持SVG。该SVG支持SVG 1.1的编码特征和大部分静态功能。但它的图形界面还不支持SMIL动画。这需要等SMIL引擎足够成熟之后才能被支持。除SVG外,还支持HTML Canvas。
  • Flash:Flash Professional CS5内曾经一度被中断开发的iOS软件输出功能,由于现在Apple已经开放第三方开发工具的使用,Adobe已经决定恢复此功能的开发作业。不过Apple目前仍未开放在浏览器内执行Flash内容。现时可以在iOS越狱之后安装第三方Flash软件。
  • Java:苹果至今仍没有宣布任何让iPhone运行Java的计划,因为这属于iOS软件开发协议所规定的范畴以外。协议规定“无论如何,应用程序都不能自己安装或者启动其他任何可执行的代码,包括没有限制的插件架构的使用,别的架构,应用程序接口或者其他任何形式。除了苹果发行的应用程序接口和内置的解释器,所有翻译码都不能经应用程序下载或使用。”但Oracle已宣布其将会发布能在iPhone上运行的Java虚拟机(JVM)的计划,它是基于Java的J2ME(Micro Edition)版本。这将让用Java应用程序得以在iPhone和iPod Touch上运行,[1]允许自带的应用程序从其他的来源下载代码,而且它们还能与第三方应用程序相互作用,这可能会阻碍不与苹果合作的Java虚拟机的发展[2]。通过越狱的方式能让iPhone安装和运行Java。在iPhone使用Java的可能性通过Oracle和苹果的会谈逐渐透露了出来,目前Oracle正通过一个叫做InnaWorks的公司为此目标而进行努力。[3][4]奇怪的是,iPhone使用的ARM处理器自身包括一个Java内置的硬件加速环境。[5]

2.什么是API?

就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。

1.应用程序接口为:“‘电脑操作系统(Operating system)’或‘程序库’提供给应用程序调用使用的代码”。其主要目的是让应用程序开发人员得以调用一组例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。API本身是抽象的,它仅定义了一个接口,而不涉及应用程序在实际实现过程中的具体操作。例如,图形库中的一组API定义了绘制指针的方式,可于图形输出设备上显示指针。当应用程序需要指针功能时,可在引用、编译时链接到这组API,而运行时就会调用此API的实现(库)来显示指针。
2.应用程序接口是一组数量上千、极其复杂的函数和副程序,可让程序员做很多任务作,譬如“读取文件”、“显示菜单”、“在视窗中显示网页”等等。操作系统的API可用来分配内存或读取文件。许多系统应用程序借由API接口来实现,像是图形系统、数据库、网络Web服务,甚至是在线游戏。
3.应用程序接口有诸多不同设计。用于快速执行的接口通常包括函数、常量、变量与数据结构。也有其它方式,如通过解释器,或是提供抽象层以屏蔽同API实现相关的信息,确保使用API的代码无需更改而适应实现变化。
4.应用程序接口经常是软件开发工具包(SDK)的一部分。

3.GUI

上一篇 下一篇

猜你喜欢

热点阅读