sdk和api有什么区别

sdk和api有什么区别原答案举个例子 在这里 一个简单的功能链条我将它分为三个组成部分 1 客户端组装数据 2 客户端使用组装的数据来请求服务端 或者操作系统 的 api3 服务端 或者操作系统 的 api 处理数据并返回处理结果结合这个链条得出结论 1 api 为细粒度的功能接口 2 sdk 包含第 2 3 步 3 sd

—-原答案—-

 

举个例子:

在这里,一个简单的功能链条我将它分为三个组成部分:

    1、客户端组装数据

    2、客户端使用组装的数据来请求服务端(或者操作系统)的 api

    3、服务端(或者操作系统)的 api 处理数据并返回处理结果

 

结合这个链条得出结论:

    1、api为细粒度的功能接口

    2、sdk包含第2、3步

    3、sdk为api的集合

 

—-2019.03.21更新—-

应观众要求,再白话一点,可能有不严谨的地方,大概是这么个意思:

 

比如需要实现一个获取用户信息的功能。

大王实现一个api(http://api.sunxuefeng.com/user/userinfo),可以通过传递参数(token)来获取用户信息。如果小王要使用这个api,需要写如下代码(php示例):

function getUserInfo($token) { if (empty($token)) { throw new \Exception('token is empty'); } $host = 'api.sunxuefeng.com'; $param = ['token' => $token]; $userInfo = curl($host, $param, 'GET'); return $userInfo; }

这样小王就可以使用大王提供的api了。但是小王这人比较懒,要求大王给他提供一个sdk来搞定这个功能。

然后大王就把上面的代码(sdk)发给小王,让他调用这个函数,传递一个 token 进来就可以获取到用户信息。

 

—-2019.04.08更新—-

 

狭义的说法,在实际工作中,

如果对方需要你提供一个api,是指一个工程提供给另外一个工程的接口(一般是基于http协议)。

如果对方需要你提供一个sdk,是指基于对方工程的编程语言,提供一个代码包。在这个代码包中,你可以调用操作系统的接口,可以调用其他系统的接口,或者什么都不调用,都与对方无关。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203180.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午10:24
下一篇 2026年3月19日 下午10:24


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号