If Web APIs are so simple why do we need SDKs?
apiful.io
apiful.io
I think the major benefits of client libraries is the ability for a developer to stay within their programming language / business domain and not stray into the fun of HTTP and JSON.
Curious how much burden this makes for providers though and what people have done to streamline the testing of the various client libraries with different versions of the service.
If those providers document their APIs using the Swagger format, there are tools that will automatically generate SDKs in tons of popular languages. The burden is nearly zero.
A lot of big companies publish what they call an SDK, which is really just a thin, idiomatic wrapper on top of HTTP calls. Most of the AWS SDKs are like this, and sometimes the wrapper is way too thin (see: the disastrous mess that is the Dynamo JS library).
Should SDK mean more than that? I don't know. Is that kind of SDK useful? Definitely! HTTP is untyped, slow, and potentially tricky to use (like with OAuth 1.2), so it's nice to have some native code that abstracts that stuff away.
If you get into some edge cases, it can be trickier, but it's easy to parse Swagger docs and generate your own SDK from the docs themselves.