Skip to main content

Command Palette

Search for a command to run...

SDK are future of Integration

SDK will help developers to abstract,fasten and improve performance during development

Published
3 min read
SDK are future of Integration
V
  • Open Source Contributor
  • Loves Developer Education
  • Passionate about Developer Experience;
  • Currently working as Lead Developer at Zoho.

Nowadays, most companies are allowing to integrate their API with other companies. These integrations are allowed so the platform they have built can be extended and used for other use cases. Some examples we will see on a day-to-day basis are Google maps inside the Ola app (cab booking app, even Uber had it). These are majorly done via APIs (Application Program Interfaces).

Even though APIs made integrations easier, there are still drawbacks to using them. In this post, we will be seeing why the platform companies which provide APIs should provide SDK for improving the developer experience.

I am sharing my views from the experience I had, other experienced SDK developers or API developers may have different opinions.

Abstracting Development

With APIs, two developers have to maintain consistency. Consider the above example, in which Google changes the variable "city" to "city_name" or "City" and releases a new version of API. In this case, the developer who worked on the Google Maps platform has to keep track of the old API usage, and the developer in the ride-sharing app company will read the docs and re-implement it again.

How SDK helps to Abstract Development

When we are using SDK, we can decrease part of the problem. Once the Google Maps Platform developer changes the key in the new API, they can change in the SDK (or ask the internal SDK team) to change and push the newer version of the SDK in the public; and also can mark the older version as deprecated in SDK itself. now the only thing to check the API usage and delete old code once its usage drops to zero.

Faster Development

Most of the time, when the APIs integration happens, the developer who integrated them tries to make the response as an immutable object (at least in Java).

When converted as objects on the server-side it's easier to consume instead of iterating values in JSONObject every time.

How SDK helps to Faster Development

SDK can try providing these converted Objects, which can help the integration engineer to integrate faster. This will in turn reduce the number of support tickets to a greater extent. When support tickets are reduced, the internal engineers can focus on other features which can improve the platform and increase revenue in the product in directly.

Improve performance

Most of the time, it is not possible for the developer to code perfectly. There can be chances where some cases are missed. Assume the ride-share app developers missed to validate inputs of city names (assume only alphabets should come) instead the end-user gives the input as 123.

In this case, at the SDK level itself, we can capture this input validation. There are two benefits of capturing at the SDK level. Firstly API call is not made to the Platform Server; Secondly, it's the by-product of first the platform team need not decrease the API credits for this API, which will increase the credibility of the Developers who use the platform.

A
Amrish4y ago

What about auto generated SDKs, for example the GoLang GCP SDK is entirely auto generated from the GCP APIs.

SDK Auto generation would be the way to scale for numerous programming languages and they don't pack anything other than underlying APIs functionality. At the least they make it easier to write.

1
V

Hey Amrish,

Thanks for sharing about Google CodeGen. Will explore in detail how they are used.

I hope it works case by case. I have tried Swagger Codegen but always don't capture every custom condition we have.

If I lead a DevExp team, then I will try to make sure to support atleast 4-5 languages (NodeJS, Java, Ruby, GoLang and few popular if any); but for other language I will point customers to use CodeGen by giving our OpenAPI Spec doc.

1

Development Tips

Part 4 of 9

This is series of blog post to share insights on how to increase developer productivity and improve ourselves as good developers.

Up next

Lets stop Over Engineering

Lets bring knowledge and strength to the table and not burden