api - 基于 REST API 的 SDK - 开销?

标签 api rest sdk

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

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

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

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

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

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

谢谢,
巴拉尼

最佳答案

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

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

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

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

关于api - 基于 REST API 的 SDK - 开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632465/

相关文章:

windows - list 中 "highestAvailable"和 "requireAdministrator"在海拔方面的区别?

php - 通过来自子域的 API 使用 Wordpress cookie 进行身份验证

r - GDAX API 与 R : invalid signature

node.js - 如何防止在 Express 的 REST api 调用中使用冲突的关键字

c# - 向 ASP.NET Web API Controller 添加显式操作路由

ios - 适用于 iOS 的 GraphQL 客户端库

java - 无法将应用程序安装为 .apk,但我可以通过 USB 调试安装它

api - 带键但不带值的查询字符串

xml - 未找到 Java 类型的 Jersey Client 消息正文阅读器

iphone - CABasicAnimation 重复自身