SDK are future of Integration

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

SDK are future of Integration

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.