SDK与API与GUI

1.什么是SDK?

  • iOS软件开发工具包(英文:iOS SDK (Software Development Kit);亦称:iPhone SDK)是由苹果公司开发的为iOS设计的应用程序开发工具包。首个版本于2008年2月发布。软件开发工具包需要在 Mac OS X Leopard 及以上系统并拥有英特尔处理器才能运行,其他的操作系统,包括微软的Windows操作系统和旧版本的Mac OS X操作系统都不被支持。然而,只有在交付iOS开发者计划的费用后才能发布应用程序。开发人员可以通过应用商店发布任意设价的应用程序,付费应用将让开发人员获得70%的费用配额,免费的应用程序没有任何费用配额。
  • 功能特点
    • 内容:由于iOS是从于Mac OS X核心演变而来,因此开发工具也是基于Xcode。该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)、安全
  • 模拟器:iOS软件开发工具包中包含和Xcode工具一样的iOS模拟器,让开发人员在计算机上拥有仿真的外观和感觉。最初它被称为阿斯仿真器(Aspen Simulator),在 Beta2 版本中它被重新命名。但iOS模拟器并不是一个用于运行x86目标代码的工具。
  • 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?

  • 概念:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

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

  • 概要

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

3.GUI

  • 概念:图形用户界面(Graphical User Interface,简称GUI)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。然而这界面若要通过在显示器的特定位置,以“各种美观、而不单调的视觉消息”提示用户“状态的改变”,势必得比简单的文字消息呈现,花上更多的电脑运算能力,计算“要改变显示器哪些光点,变成哪些颜色”。

  • 概要:在图形用户界面中,计算机画面上显示窗口、图标、按钮等图形,表示不同目的之动作,用户通过鼠标等指针设备进行选择。
    图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。[1]
    GUI 即人机交互图形化用户界面设计。纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到 GUI 在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事 GUI 的研究与设计,同业间也成立了若干机构,以互相交流 GUI 设计理论与经验为目的。随着中国 IT 产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。
    GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便GUI
    GUI (2张)了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

你可能感兴趣的:(SDK与API与GUI)