4

据我所知,SDK 和 API 并不完全不同,但 SDK 是实现工具,而 API 更多的是接口。

SDK 可以提供一组工具、帮助类(例如,简化 API 访问的附加代码)、特定语言绑定和示例代码,以帮助用户开发和使用 API。通常,您可以有一个 API 公开一组功能,并有多个 SDK 来访问该 API。API 可能并不总是存在 SDK,但如果提供 SDK,它会很有帮助。

我们有一个要求,我们正在开发 REST API 来访问数据,我的建议是在 REST API 之上创建 SDK,因为,

我们不应该让 API 设计负担过重。客户端需要很多东西,您可以将这些负担推给 SDK。SDK 可以提供开发人员在其应用程序中使用的特定于平台的代码来调用 API 操作——这意味着我们可以保持 API 干净。

另一位架构师对在 REST API 之上开发 SDK 不感兴趣,他认为 SDK 将是额外的开销。

我只是想从这个论坛获得各种想法......任何建议,反馈,想法都会非常有用..

谢谢,
巴拉尼

4

1 回答 1

5

哇……现在是首字母缩略词时间!

SDK 通常只是包装类和函数,以使访问您的 REST 或其他 Web 服务 API 更容易。它们本身就是 API,因为它们提供了一个供程序员使用的接口。不必让您的客户端直接运行 curl 或其他 Web 请求来访问您的 Web API,您可以为他们抽象这些。

如果您正在构建一个 SDK,这很酷,但核心 Web API 应该是干净的、易于理解的并且有其自身的优点。

我不是 SDK 的忠实拥护者,除非您的客户群体无法直接访问/使用 REST 服务或没有真正的开发人员。例如,如果您的目标是需要插入式代码并且遇到比 facebook 按钮更复杂的问题的网络营销人员。SDK 将增加现在和将来创建和维护的开销——尤其是跨不同平台。投入额外的时间来改进您的 REST API。

于 2012-11-29T18:46:34.873 回答