SDK的含义

sdk和open api有什么区别? - 知乎

作者:aaaron7
链接:https://www.zhihu.com/question/20225153/answer/82373708
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

我认为,API,是你,严格得来说是你得代码,和一个第三方的实体进行沟通的方式得 集合。

比如你和Windows系统沟通,需要调用Windows提供得API(CreateWindowEx, bitblt,等等)。(以C语言函数得形式)

你和.Net框架进行沟通,需要调用.Net提供得Api。(以C#,VB函数/类得形式)

你和新浪微博进行沟通,需要调用新浪微博提供得Api。(以Http请求得形式)

所以Api,比较准确得定义应该是,一个软件系统对其他软件系统提供得服务。


 

那什么是open api, 其实open api也是api,并且没有一个准确得定义区分什么是api,什么是open api,什么是不open的api。

open api,根据我得经验,一般是指有这样得一个系统,一开始是封闭得。比如最开始得Twitter,或者google,或者facebook。突然有一天,他们开放了!他们公布了一组api,来获得他们内部得一些数据,执行一些操作。

这个时候,这样得api, 我们就称之为open api。

那什么是SDK呢?

最开始的定义就是, api的集合,我们就称之为SDK。

还是拿之前得windows的例子来说,windows提供得所有Api得集合,就称之为 Windows SDK。

然后,随着时间得演化,聪明而又懒惰得程序员们,又给SDK赋予了新的意义。

通过Windows得Api,来开发windows程序是复杂且繁琐得。十分不友好,所以就有了像.Net这样得框架。他封装了底层得Windows Api,然后改造成一组新得,更加易于使用得Api给开发者们使用。

像.Net这种,以一组Api作为输入,以另外一组Api作为输出得中间件,就是现在人们所说得SDK。如下图:


 

再举一个微博的例子,新浪微博提供了一组Http请求形式得Api。由于现如今构造Http请求也算是一件麻烦事,所以逐渐就有了,“新浪微博iOS SDK”。这个SDK封装新浪微博得Http接口,提供了一组Objective C或者Swift形式接口。



 

那现在问题来了,什么是 “框架”

.NET框架,Cocoa框架,WPF框架……

简单得说……很厉害得SDK,就可以称自己为……框架。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值