API 与 SDK:有什么区别?( 二 )


OCRResult res = ocrClient.ocr("pic.jpg").getResult();通过调用这行代码,SDK 会自动封装 API 请求,而且作为响应,你获得的结果也不一定是 JSON 对象,也有可能是代码,例如上述代码段里的OCRResult,这是因为 SDK 也已经将 JSON 对象反序列化成你需要的对象,比如一个 Java Model 。
SDK 相当于开发集成工具环境,API 就是数据接口 。API 可以在 SDK 提供的“环境”里请求 。同样的,这里的“环境”也是一个抽象的概念 。如果不使用 SDK,也可以直接调用 API,只不过,这个环境就要由开发者自己实现了 。
区别其实从上面的内容,我们也已了解到,API 在更多场合下更像是 SDK 的一个子集,他们的区别如下:
【API 与 SDK:有什么区别?】•API 通常是一个函数,有特定的功能;而 SDK 是一个很多功能函数的集合体,更像是一个工具包 。•API 通常扮演数据接口的形象,SDK 相当于一个工具环境,通常是需要在 SDK 的环境下调用 APl 。•SDK 相较于 API 封装层次更高 。


推荐阅读