何时通过SDK获取API,反之亦然?

时间:2017-10-25 04:04:21

标签: api sdk

用例:我正在开发一个混合云API,它可以与多个云提供商互动,即。 AWS,Google计算,Azure等。对于他们每个人都有我最喜欢的语言的API和SDK。但我想知道的是应该如何选择API或SDK。我应该寻求做出计算决定的提示。

我知道b / w API和SDK之间存在差异,并且当有人应该使用SDK而不是SDK时可以推理一些用例。反之亦然。

我的一些观察

  • 如果API不可用或者很难使用简约文档,则必须使用SDK。例如 vmware vsphere,SDK肯定是要走的路。
  • 此外,如果您的收藏中没有SDK。语言,你必须拨回API。
  • SDK通常很容易使用,因为它们抽出了很多东西。特别是如果你想使用那个功能 要求信息通过大量资源。 SDK可以在内部完成很多工作,因此您可以关心什么 你想做的就是不必关心令牌过期。

  • SDK vs API in general

  • SDK vs API for S3

我个人对API的倾向有时是因为,并不总是有一对一的映射黑白功能 API和SDK。我肯定想要使用超集(API)。我不希望受到存在的功能的影响 资源,可通过API获得,但尚未在SDK中实现尚未

问题:您希望在SDK上使用API​​的情况是什么,反之亦然?为什么?

如果您发现我的任何观察结果不正确或草率,请纠正我。

1 个答案:

答案 0 :(得分:1)

我会选择api来保持简洁。

1)当你必须发货的最终产品的尺寸需要时尚时,就像你使用多个第三方工具一样,如果你整合了他们所有的SDK那么你的应用程序大小是膨胀的,但是如果你使用它们提供的轻量级API,那么它将非常流畅。

2)请记住,最终用户最终将使用您的产品与现有产品集成,其中大多数将具有一个限制或其他限制,例如在Android中,当方法计数超过64k时,编译器会抱怨(当然,我们可以轻松过来)但重点是sdk将在用户可能永远不会使用的实用程序和帮助程序类中有很多未使用的方法。

3)更新开销当任何一个sdk版本被弃用时,您最终会发布新产品只是为了集成新SDK,但更好的替代方案是更改特定的API在SDK中发生了变化。

4)您提供的文档将是最准确的,因为您知道您使用的API,用户理解和使用您的产品非常简单

还记得sdks在内部使用API​​,因此你可以做同样的事情并且仍然保持简单