浅谈iOS的SDK与API

    做为iOS开发人员,咱们常常听到SDK,API。但是它们究竟是什么?有什么做用呢?,有的人老是以为它们太抽象了。编程

    接下来就让咱们一块儿谈谈,由于技术知识无穷的,因此我说的可能会有一些不许确的地方,因此也但愿广大的博友提出指正,你们一块儿进步~~框架

    SDK函数

     SDK,英文全称Software Development Kit,中文意思就是软件开发包。这个开发包一般都会包含API函数库、帮助文档、使用手册、辅助工具等资源。意思就是,SDK事实上是开发所需资源的一个集合。而API也被其包含其中,这个咱们下面再讲。而开发iOS项目咱们通常都会用到Xcode,那么SDK与XCode又是什么关系呢?二者的关系就像操做系统和软件的关系,操做系统给应用程序提供平台,你用软件实现你想用的功能。Xcode给SDK提供平台,你用SDK来编程,Xcode只是一个IDE,用于开发的一个工具而已,你也能够不用Xcode来开发。只是它是苹果官方比较提倡的,并且相对来讲最大众,最好用而已。而SDK才是开发的灵魂,也就是说你所正真要用的东西。工具

     值得一提的是,如今直接说SDK都是代指开发Windows平台下的应用程序所使用的SDK,不过总的来讲SDK的定义与做用都是差很少的。由这个咱们也不难看出来,其实无论在什么操做平台下,什么编译语言。咱们所用的本质规则都是同样的,同时咱们也能够在从事本身的专业的时候,也借鉴一下别的领域,说不定就有意外的收货和感悟。学习

    最后说一下,有的人之因此认为SDK难以理解,难以具体化,实例化。其实我以为这正是SDK的广义性形成的,SDK 还常常包括示例代码、支持性的技术注解或者其余的为基本参考资料澄清疑点的支持文档。正是由于它包含的东西多,广,深。因此SDK很难简单的,明了的定义在那里。这点你们也不要太纠结,咱们之后接触的多了也就天然有了它的大体轮廓。开发工具

    APIui

    刚才说了,API是包含在SDK之中的,因此API的广义性就相对来讲小一点。API这个词,全称叫Application Programming Interfaces(应用程序编程接口)。简单地说,就是一套套的要求,用来管理应用程序之间的沟通。API并非什么新事物,在你使用PC或笔记本时,正是API让数据在程序之间传输。例如,把一个LibreOffice文档中的片段切割出来并传输到Excel表格上。系统级的API让LibreOffice这类程序可以运行在Windows这样的操做系统上。spa

   也能够说操做系统留给应用程序的一个调用接口,应用程序经过调用操做系统的 API 而使操做系统去执行应用程序的命令(动做)。API是经过把程序内部的一些功能有限地向外开放来作到的,这使得应用之间可基于各自的利益分享数据,同时不须要开发者公布全部的软件代码。对开源项目来讲也是如此。你能够把它当作是一扇门、窗或杠杆,无论用什么比喻,一个程序和外面的软件世界的沟通就是由API定义的。操作系统

   Mac OS X上的五大API  Cocoa,Carbon,POSIX,X11和Javacode

   接下来咱们说说比较重要和经常使用的API,Cocoa。Cocoa 应用程序通常在苹果公司的开发工具Xcode(前身为Project Builder)和Interface Builder上用Objective-C写成。不过,经过Java bridge、PasCocoa、PyObjC、CamelBones以及RubyCocoa等桥接技术,Java、Clozure CL、LispWorks、Object Pascal、Python、Perl、Ruby等其它工具或者语言也能够用来开发 Cocoa 应用

   说道API,就不得不说说Cocoa Touch,Cocoa Touch由苹果公司提供的软件开发API, 用于开发 iPhone\iPod\iPad上的软件。也是苹果公司针对iPhone应用程序快速开发提供的一个类库。此库以一系列框架库的形式存在,支持开发人员使用用户界面元素构建图像化的事件驱动的应用程序。

     

  这个你们必定都不陌生,咱们开发时常常要建的类,这样一看就直观多了。

    那么问题来了,Cocoa与Cocoa Touch就是一个单词的差异,有什么区别吗?  

二者都包含OC运行时的两个核心框架:
Cocoa包含Foundation和AppKit框架,可用于开发Mac OS X系统的应用程序
Cocoa Touch包含Foundation和UIKit框架,可用于开发iPhone OS 系统的应用程序
Cocoa时Mac OS X的开发环境,Cocoa Touch是 Iphone OS的开发环境

如今你们明白了为何咱们常常用的Cocoa Touch比较多了吧,由于咱们开发的大部分都是手机APP,因此用到Cocoa Touch也就天然了。

 

嘿嘿,以上就是本人对SDK与API一些浅薄的理解和总结,其中也是查了网上好多资料本身学的,若是文章有什么不正确或者模糊的地方,也但愿广大的博友指正出来,你们一块儿学习!

相关文章
相关标签/搜索