首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >API与SDK的区别

API与SDK的区别
EN

Stack Overflow用户
提问于 2009-05-07 21:52:20
回答 8查看 191.3K关注 0票数 193

我试图向非开发人员解释API和SDK之间的区别。我需要解释为什么商业指纹软件供应商可能不会提供SDK,尽管他们肯定使用了SDK。

设备供应商和软件供应商都可以而且应该公开定义良好的API。此API允许其他软件程序(被写入)与供应商自己的软件组件或硬件设备进行互操作。

如果有人有更多的想法来解释清楚这一点,我将非常感谢您的建议。我想强调的是,的目标是向不懂开发人员术语的非程序员解释概念。

具体地说,在指纹传感器与软件进行注册/验证的上下文中,以下是我试图解释的方式:

如果我是一家指纹设备/传感器制造商,而不是从事编写软件的行业,那么我可以通过以下方式更好地推销我的产品:

  1. 确保我的设备驱动程序可以安装在各种操作系统上
  2. 定义并提供一个应用程序接口,供软件开发人员编写程序(例如,用于注册、验证),以便与我的设备
  3. 开发人员“对话”或使用它,并提供一个软件开发工具包(比应用编程接口更快一步),使软件开发人员更容易、更快地编写与我的设备一起工作的程序。SDK可以提供帮助代码库、参考应用程序、文档等。
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-07 13:59:19

小菜一碟:

  • an API是一个接口。它就像你房子里的电话系统或电线的规格。Anything*可以使用它,只要它知道如何接口。你甚至可以购买现成的软件来使用特定的应用程序接口,就像你可以购买现成的电话设备或插入家里交流电线的设备一样。
  • an SDK是implementation tooling。它就像一个工具包,可以让**你定制一些东西来连接到电话系统或电线上。

*任何东西都可以使用API。一些API具有要求许可证密钥、身份验证等的安全条款,这可能会禁止在特定情况下完全使用API,但这只是因为特定的身份验证/授权步骤失败。任何提供正确凭据的软件(如果需要)都可以使用API。

**从技术上讲,如果API文档齐全,您不需要SDK来构建自己的软件即可使用该API。但是拥有SDK通常会使这个过程变得容易得多。

票数 231
EN

Stack Overflow用户

发布于 2013-03-07 19:44:56

应用编程接口就像一些令人费解的游戏的积木,孩子们可以玩它来连接不同形状的积木,并构建他们能想到的东西。

另一方面,SDK是一个合适的研讨会,所有的开发工具都可以在这里使用,而不是预先形成的构建块。在研讨会中,您拥有实际的工具,并且您并不局限于块,因此可以制作自己的块,或者可以在开始时创建没有任何块的东西。

没有SDK或API的编码就像没有工作室从头做起一样--您甚至必须自己制作工具。

票数 61
EN

Stack Overflow用户

发布于 2010-06-24 11:20:19

假设公司C提供产品P,并且P以某种方式涉及软件。然后,C可以向软件开发人员提供一个库/一组库来驱动P的软件系统。

这个库就是一个SDK。它是P系统的一部分,是软件开发人员用来修改、配置、修复、改进P系统软件的工具包。

如果C想要向其他公司/系统提供P的功能,它可以通过应用程序接口来实现。

这是到P的接口。外部系统与P交互的方式。

如果从实现的角度来看,它们看起来非常相似。特别是现在,互联网已经变得像一个大型的分布式操作系统。

然而,在目的上,它们实际上是相当不同的。

你用SDK构建一些东西,然后用API使用或消费一些东西。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/834763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档