top | item 42544565

(no title)

rcaught | 1 year ago

> These days a great SDK, not a great API, is a hallmark, and maybe even a necessity, of a world class development experience.

IMO, you can't build a great SDK without a great API. Duct tape only goes so far.

discuss

order

resonious|1 year ago

I agree with you.

I actually don't see any value-add from SDKs that wrap HTTP requests. HTTP is a standard, and my programming environment already provides a way to make requests. In fact it probably provides multiple, and your SDK might use a different one from what I do in the project, resulting in bloat. And for what gain? I still need to look at docs and try my best to do what the docs are telling me to.

Now if it's a statically typed language then I kinda get it. Better IDE/lsp integration and all. But even then, just publish an OpenAPI spec and let me generate my own client that's more idiomatic with my project.

skydhash|1 year ago

This is one of the sentiment that powers the Common Lisp ecosystem. There's already good data structures and functions in the standard (and quasi standard) library, why do you need to invent new ones? In other languages (Node JS), you take a library and it brings a whole kitchen with it.

in-pursuit|1 year ago

I agree with the sentiment that great APIs are a prerequisite to great SDKs, but great SDKs are really about time saving. Consider AWS's API, which requires a specific signing mechanism. That is annoying to implement manually. In general, the common method of shared-secret passed via bearer token is pretty insecure. I hope to see that change over time, and SDKs can help facilitate that.

buremba|1 year ago

I like the middle ground where I generate the models from OpenAPI but stick to my preferred HTTP library of choice in the language I’m using.

noitpmeder|1 year ago

But you _can_ put a good SDK in place to abstract away a terrible API.

I've done this at work to ease use for clients -- once they're happy with the SDK interface I can do whatever I want behind the scenes to shore up the API/backend without impacting those same clients and their OK SDK.

Gys|1 year ago

As the saying goes 'if you cannot solve it with duct tape, you did not use enough duct tape' ;)