这两个概念经常遇到,但是总是懒得具体去了解(懒死蒜了。。。),今天不能忍了,就查询了一些他人所认为的,遂总结一下(说得有点狭义,因为我只对Android)。
API(Application Programming Interface):顾名思义,应用程序接口,是以功能为导向的“方法”清单。它是开发商预先撰写好的组合APIs的API,供统一有特定需求的开发者程序调用的接口,这样能有一致的开发与使用体验(开发商可以为了不同平台,设计相同的API让开发者使用,也可能会因平台不同,制作不同的API让开发者使用)。如你想在你的应用中使用百度地图的相关功能,就要引入BaiduMapSDK,然后根据它提供的API(功能接口)使用其相应的功能。
SDK(Software Development Kit):所谓的“软件开发包”。标准点说法是它包含了进行项目开发的文档和API函数的输入库、头文件(因为API在动态链接库中,这些动态链接库是(所使用的开发)系统的组成部分,因此不用再提供,但是必许有输入库和头文件才能在你的程序中使用API函数);具体点就是辅助开发某一类软件的相关文档、范例、和工具的集合。
SDK可以是单独发放的包(通常项目引入的jar包),也可以是直接集成在开发环境中的(例如开发Android时使用eclipse新建项目时都会自动引入Android 5.1.1等)
二者关系:SDK不仅包含了API,重要的是包含了使API有效所必须的资料(SDK是API的衣食父母)
以Android为例:
(1)我们要拥有Android SDK才能开发Android应用程序(集成开发环境会自动包含)
(2)Android SDK与开发环境的整合,除了提供代码语法错误检查外,还提供模拟器平台使我们不用硬件(真机)就可以进行模拟测试
版权声明:本文为博主原创文章,未经博主允许不得转载。