一个API和SDK之间的区别 [英] Difference between an API and SDK

查看:135
本文介绍了一个API和SDK之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图以非开发人员的解释一个API的SDK之间的区别。我需要解释为什么一个商业指纹软件供应商可能不会提供一个SDK,虽然他们可能的确已经使用的。

两个设备供应商和软件供应商可以并且应该暴露一个良好定义的API。该API允许其他软件程序(写入)互操作与厂商自己的软件组件或硬件设备。

如果有人有更多的想法解释清楚这一点,我就非常AP preciate的建议。我想强调的是,的目标是解释的概念,以一个非程序员谁不知道开发商的行话

具体而言,在指纹传感器对软件进行注册/验证的情况下,这里就是我试图解释它:


  

如果我是一个指纹识别器/传感器制造商,而不是在
  编写软件的业务,方式我可以更好的市场我
  产品主要有:


  
  

      
  1. 确保我的设备驱动程序安装在各种操作系统

  2.   
  3. 定义,并提供一个API,软件开发人员能够编写程序(例如,用于登记,验证),以对话还是用我
      设备

  4.   
  5. 开发并提供一个SDK(一步超越了API),使之更容易,为软件开发人员更快地编写工作程序
      与我的设备。软件开发工具包可以提供帮助code库,参考
      应用程序,文档等。

  6.   


解决方案

小菜一碟:


  • 的API是一个接口。这就像电话系统的规范或在你家的电线。任何*可以,因为它知道如何连接,只要使用它。你甚至可以买到现成的,现成的软件使用特定的API,就像你可以购买现成的电话设备或设备插入AC布线在你的房子。

  • 的SDK为执行工具即可。这就像一个工具包,允许**你建立自定义的东西钩到电话系统或电线。

*任何可以使用的API。了一些API的安全规定要求的许可证密钥,认证等,这可能完全禁止使用在具体情况的API,但是这仅仅是因为特定的认证/授权步骤失败。任何presents软件的权利凭证(如果需要)可以使用API​​。

**从技术上讲,如果API是证据充分的,你不需要一个SDK来构建自己的软件使用API​​。但有一个SDK通常会使这个过程更容易。

I am trying to explain to a non-developer the difference between an API an SDK. I need to explain why a commercial fingerprint software vendor will likely not provide an SDK, although they may certainly have used one.

Both device vendors and software vendors can and should expose a well-defined API. This API allows other software programs to (be written to) inter-operate with the vendor’s own software components or hardware devices.

If someone has more ideas to explain this clearly, I would very much appreciate the suggestions. I want to emphasize that the goal is to explain the concepts to a non-programmer who does not know developer lingo.

Specifically, in the context of a fingerprint sensor versus software to do enrollment/verification, here is how I attempted to explain it:

If I am a fingerprint device/sensor manufacturer and not in the business of writing software, the ways I could better market my product are:

  1. Make sure my device drivers are installable on a wide variety of operating systems
  2. Define and provide an API for software developers to write programs (e.g., for enrollment, verification) to "talk" to or use my device
  3. Develop and provide an SDK (one step beyond an API) to make it easier and faster for software developers to write programs that work with my device. SDKs may provide helper code libraries, reference applications, documentation etc.

解决方案

Piece of cake:

  • an API is an interface. It's like the specification of the telephone system or the electrical wiring in your house. Anything* can use it as long as it knows how to interface. You can even buy off-the-shelf software to use a particular API, just as you can buy off the shelf telephone equipment or devices that plug into the AC wiring in your house.
  • an SDK is implementation tooling. It's like a kit that allows** you to build something custom to hook up to the telephone system or electrical wiring.

*Anything can use an API. Some APIs have security provisions to require license keys, authentication, etc. which may prohibit complete use of the API in particular instances, but that's only because particular authentication/authorization steps fail. Any software that presents the right credentials (if required) can use the API.

**Technically, if an API is well-documented, you don't need an SDK to build your own software to use the API. But having an SDK generally makes the process much easier.

这篇关于一个API和SDK之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆