基于REST API的SDK - 开销?

时间:2012-11-29 18:38:27

标签: api rest sdk

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

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

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

我们不应该过度负责API设计。客户端需要的很多东西都可以将这个负担推到SDK上。 SDK可以提供开发人员在其应用程序中使用的特定于平台的代码来调用API操作 - 这意味着我们可以保持API清洁。

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

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

谢谢,
BARANI

1 个答案:

答案 0 :(得分:5)

Whooh ......这是首字母缩略词时间!

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

如果您正在构建SDK,那么很酷,但核心Web API应该是干净的,可理解的并且坚持自己的优点。

除非您的客户群不能直接访问/使用REST服务或者没有真正的开发人员,否则我不是SDK的忠实粉丝。例如,如果您的目标是想要插入代码的网络营销人员,并且比像facebook这样的按钮有任何更复杂的困难。 SDK将增加现在和将来创建和维护的开销 - 特别是在不同的平台上。投入额外的时间来改进REST API。