我试图向非开发人员解释API和SDK之间的区别.我需要解释为什么商业指纹软件供应商可能不会提供SDK,尽管他们肯定会使用一个.
设备供应商和软件供应商都可以而且应该公开定义良好的API.该API允许其他软件程序(被编写)与供应商自己的软件组件或硬件设备互操作.
如果有人有更多的想法来清楚地解释这一点,我将非常感谢这些建议.我想强调的是,目标是向不懂开发人员术语的非程序员解释这些概念.
具体来说,在指纹传感器与软件进行注册/验证的情况下,以下是我尝试解释它的方法:
如果我是指纹设备/传感器制造商而不是编写软件的业务,那么我可以更好地推广我的产品的方法是:
- 确保我的设备驱动程序可以安装在各种操作系统上
- 为软件开发人员定义并提供API,以编写程序(例如,用于注册,验证)以"交谈"或使用我的设备
- 开发并提供SDK(超出API的一步),使软件开发人员能够更轻松,更快速地编写适用于我的设备的程序.SDK可以提供帮助程序代码库,参考应用程序,文档等.
Jas*_*n S 219
小菜一碟:
*任何东西都可以使用API.某些API具有安全规定,要求许可证密钥,身份验证等,这可能会禁止在特定实例中完全使用API,但这仅仅是因为特定的身份验证/授权步骤失败.任何提供正确凭据的软件(如果需要)都可以使用API.
**从技术上讲,如果API有详细记录,您不需要SDK来构建自己的软件来使用API.但是拥有SDK通常会使这个过程变得更加容易.
Abd*_*man 51
API就像一个令人费解的游戏的构建块,孩子们玩这个游戏以加入不同形状的块并构建他们能想到的东西.
另一方面,SDK是一个适当的工作室,所有开发工具都可用,而不是预先形成的构建块.在研讨会中,您拥有实际工具,并且您不仅限于块,因此可以创建自己的块,或者可以创建没有任何块的东西.
没有SDK或API的编码就像是在没有研讨会的情况下从头开始创建 - 你甚至必须自己制作工具
小智 25
假设公司C以某种方式提供产品P和P涉及软件.然后,C可以为驱动P软件系统的软件开发人员提供库/库集.
该库/库是SDK.它是P系统的一部分.它是软件开发人员使用的工具包,用于修改,配置,修复,改进等P的软件.
如果C想要向其他公司/系统提供P的功能,那么它就是通过API实现的.
这是P的接口.外部系统与P交互的一种方式.
如果从实施的角度考虑,它们看起来非常相似.特别是现在互联网已经变得像一个大型的分布式操作系统.
但就目的而言,它们实际上是截然不同的.
您使用SDK构建内容,并使用API来使用或使用某些内容.
小智 11
应用程序编程接口是一组例程/数据结构/类,它指定了与OS X,Android,项目管理应用程序,虚拟化软件等目标平台/软件交互的方式.
虽然软件开发工具包是API/s的包装,但它使开发人员可以轻松完成工作.
例如,Android SDK有助于开发人员与Android平台进行整体交互,而平台本身则由通过API进行通信的复合软件组件构建.
此外,有时SDK是为了便于在特定编程语言中进行开发而构建的.例如,Selenium Web驱动程序(内置于Java)提供API以本机驱动任何浏览器,而capybara可被视为一个SDK,便于Ruby开发人员使用Selenium Web驱动程序.但是,Selenium Web驱动程序本身也是一个SDK,因为它将与各种本机浏览器驱动程序的交互组合到一个程序包中.
API是关于如何做某事的规范,一个界面,例如"铁轨相距四英尺,金属条宽1英寸"现在您已经拥有了API,现在可以建造适合这些铁路的火车跟踪,如果你想去任何地方.API只是关于如何构建代码的信息,它没有做任何事情.
SDK是一些已经担心规范的实际工具包."这是一辆火车,一些煤炭,一个维修人员.用它来到一个地方"使用SDK你不用担心具体细节.SDK是实际代码,它可以单独用来做某事,但当然,火车不会自动启动,你仍然需要指挥来控制火车.
SDK也有自己的API."如果你想给火车提供动力,把煤放进去","拉动蓝色的杠杆移动火车.","如果火车开始表现得好笑,请打电话给维修人员"等.
API = 可用单词及其含义的字典(以及组合它们所需的语法)
\n\nSDK = 一个适合2岁宝宝的文字处理系统\xe2\x80\xa6\xe2\x80\xa6,可以根据想法进行书写
\n\n虽然几年后你可以去学校并成为你的语言的大师,但使用 SDK 将帮助你立即写出完整有意义的句子(原谅这样一个事实,在这个例子中,作为一个婴儿,你甚至还没有学会学习任何其他语言至少要学会使用 SDK。)
\n| 归档时间: |
|
| 查看次数: |
186202 次 |
| 最近记录: |