美文网首页
【2017.3.4】SDK和API的区别

【2017.3.4】SDK和API的区别

作者: Ludiwgbet | 来源:发表于2017-03-04 09:47 被阅读435次

<h3>
SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自动补全代码,自动错误检查,你点一下Run,它会调用编译器来自动编译,编译完它会调用iPhone的模拟器来运行,这就是SDK,提供整套的开发工具供开发者使用。
</h3>

<h3>
OpenAPI就是网站提供的接口,比如你想开发一个围脖的手机客户端,你从哪里读取数据写入数据呢?总不能从Web版里调用吧?那里是一堆一堆的html代码啊,所以OpenAPI就是网站提供的接口,供开发者接入用的。
</h3>

<p>
SDK (Software Development Kit)翻译成中文就是"软体开发工具组"是用来帮一个 产品 或 平台 开发应用程式的工具组,由产品的厂商提供给开发者使用的。通常是 某一家厂商 针对某一 平台 或 系统 或 硬体 所发佈出来用以开发应用程式的工具组,在这个工具包裡面,可能包含了各式各样的开发工具,模拟器等。
例如:给 Android平台 使用的 Android SDK 就是用来开发 Android系统上面的应用程式。

</p>
<p>
API (Application Programming Interface)翻译成中文就是"应用程式介面",其实这样翻译不好,应该说是"程式沟通介面"。翻译为介面,顾名思义就要沟通两个不同的东西用的,通常由一组函式库所组成。在一个 同一个平台 下的 两个不同东西(程式 or 系统),为了能取用对方的功能等等,所以一个 X程式 写了一组函式,让 同一平台的其他程式 取用 X程式 的功能,那组函式就可以说是那个 X程式 对外开放的 API。
例如:我要在 自己的网页 上加入 google map网页的功能,就使用 "google map API"
</p>

有时候 SDK(开发者工具包) 裡也会带有些许 API 用来调用一些系统平台程式提供的功能例如说:视窗显示,图形特效等等。以下举一个实际例子来说明,调用系统程式功能的API 是怎麽一回事开发Windows应用程式的SDK(开发者工具包) 裡就包含 Win32 API说明: Win32 API 是一个函式库,可以给Windows应用程式 调用 Windows系统的功能

在PTT看到有人问了差异性,我的看法是
SDK是用来开发某一个平台的程式的工具包,API 是让同一平台下的程式取用它的功能的函式库。

以及下面的评论:
1.API 通常大家都不会弄错,的确就是以功能为导向的"方法"或"函式"清单,看程式语言或平台而定( Methods, Functions... ),而每个 API 主要都是为了达成某特定功能所设计的。
开发商可以为了不同平台,设计相同的 API 让开发者使用,也可能会因应不同平台,製作不同的 API 让开发者使用。

2.当 API 数量够多功能够繁複并且可交互为用的时候,( 例如为了达成某些功能,常需要同时引用某些 APIs 来完成 )开发商就会为了开发便利,而预先撰写好一些组合好 APIs 的 API供开发者使用,来统一有特定需求的开发者能有一致的开发与使用体验,( 例如让使用"网路连线"的开发者不需自己处理网路的基础沟通信息,与错误处理方式,使 API 在应用的时候有一定程度的便利性等 )

然后,也陆续发展出测试、除错工具,甚至是设计不同平台开发环境所需的套件,
尤其针对不同平台,更是设计了对应的工具来协助开发、除错;

SDK 名词之所以出现,俨然是为了汇整上述这些资源而诞生的,
我想也可以说成是 API 的包含者(直接使用)与应用者(以便加速开发),
也因此可以说这两个是属于不同层级的东西...

以 Android 来说:
a. 我们要拥有 Android SDK 才能开发 Android 应用程式( 针对不同开发系统而不同 Linux, Windows )
b. Android SDK 裡的 APIs 统统都可以单独使用,只不过你会发现他们都还有许多其他的应用,而且可能还比自己写来得更有效率
c. Android SDK 跟开发环境整合后,除了提供程式码语法错误检查外,还提供模拟器平台让我们不需要硬体就可以模拟测试d. Android SDK 内有测试用的 APIs,来协助我们检查记忆体用量、程式效能以及状态显现等功能 ( 当然它建议仅在测试除错时才使用 )

转自知乎

相关文章

  • 【2017.3.4】SDK和API的区别

    SDK就是Kit,工具箱嘛,IOS平台上就是XCode,一系列的工具组合在一起,比如你在编辑器里敲代码的时候它会自...

  • SDK和API的区别

    以前只知道不管是API还是SDK,直接调用就行了,还没有具体想过其中的区别: SDK和API都是类似于公共服务的东...

  • API和SDK的区别

    软件开发工具包(SDK:Software Development Kit)和应用编程接口(API:Applicat...

  • Android开发SDK版本号和API level对照表,到An

    SDK版本和API level对应表 SDK 版本名 API LevelAndroid...

  • API与SDK的区别

    你是个男的 你要开发一个 BABY SDK 就是房间、床、你老婆等一系列相关的工具、文档 API 就是你老婆开放的接口

  • SDK 和 API 的区别是什么?

    API 和SDKhttps://www.zhihu.com/question/21691705[https://w...

  • SDK和API的区别是什么

    来自知乎简道云的一个回答:

  • API和SDK

    讲个小故事: 研发人员A开发了软件A,研发人员B正在研发软件B。有一天,研发人员B想要调用软件A的部分功能来用,但...

  • 【碎碎念】API、SDK和框架的区别

    最近工作接触到SDK,稍微了解了下,看了下网上举的例子,不是特别满意。 自己以买卖股票举个栗子,解释下API、SD...

  • 讯飞语音识别

    语音识别,科大讯飞提供了sdk和web api,相比于sdk还要下载安装,web api显然clean很多,只要直...

网友评论

      本文标题:【2017.3.4】SDK和API的区别

      本文链接:https://www.haomeiwen.com/subject/vsudgttx.html