10 Examples of SDKs With Great Developer Experience

10 Examples of SDKs With Great Developer Experience

Posted in

In today’s crowded API marketplace, it’s vitally important that users can get started with an API as quickly as possible. If a user has to spend too much time onboarding, they’ll likely turn to one of your competitors, especially if they do a better job explaining how to initially get started. This is where software development kits (SDKs) come into play.

SDKs are one of the best ways to get started with an API. They’re all-inclusive, containing everything a user needs to demo an API. SDKs tend to be platform agnostic, as well, as the best SDKs will contain all of the necessary resources for a wide variety of programming languages and platforms. Most importantly, SDKs let users see APIs in action by providing code snippets for real-world applications. This lets users and developers audition an API so they can see how it integrates into their current stack.

These are just a few of the reasons why including a good SDK is such an important aspect of delivering a quality developer experience. To give you an idea of what that looks like, we’ve compiled a list of some of the APIs with the best SDKs for a great developer experience. We’ll also look at the characteristics of the best SDKs to style your own software development kits after.

1. Google Maps SDK

Google Maps does a lot of different things at this point. That means that Google Maps SDK needs to do many different things, as well. While not every single Google Maps function has an SDK, nor does it support as many different languages as some of the others on our list, the code snippets and examples are well worth noting. They make it incredibly easy and intuitive to get started using Google Maps, which is the most important aspect of an SDK.

2. Stripe SDK

Stripe SDK wraps its APIs in an impressive array of different programming languages, making it incredibly easy to demo. They also provide SDKs for many different devices and technologies, including servers, web, and mobile devices. No matter what you hope to do with the popular payment API, you’ll be able to get started in a matter of moments, thanks to their SDK library.

3. Twilio SDK

Twilio SDK is impressively thorough and robust, with SDKs for a wide range of different applications in numerous different programming languages. Each SDK features code snippets and clear, easily understandable instructions, making it a wonderful example of excellent onboarding. Each SDK also contains a detailed, thorough changelog illustrating how an SDK can augment good API documentation.

4. Nylas SDK

Nylas SDK is predominantly noteworthy for the wide range of languages it supports. The popular messaging solution provides use cases and code snippets in everything from Python to Ruby and even Kotlin. They offer examples of common actions like checking or sending emails for each language. Some languages have examples for more esoteric functions, like managing folders and events in Pythons. Comparing and contrasting different SDKs can help developers decide which language will be best for implementing their project.

5. AWS SDK

AWS’s popularity has much to do with its SDKs. The fact that it’s such a popular and widely used platform means there’s an incredible range of SDKs available. They’re also notable for providing SDKs for more obscure use cases that are still practical and useful, including everything from IoT to front-end development. AWS also offers SDKs for various programming languages, ranging from the most popular, like Python and JavaScript, to more obscure languages like Swift or Kolin. Taken together, AWS SDKs let virtually any programmer get up and running in a matter of moments.

6. Slack SDK

Slack also does an excellent job of providing a wide range of SDKs for many different functions. Slack SDKs are especially noteworthy for their practical examples, such as the Build This Bot Workshop, which illustrates how an SDK can function like both a tutorial and an onboarding guide in some circumstances.

7. Salesforce SDK

Salesforce SDK deserves to be mentioned for its advanced application alone. The Einstein Bot SDK shows developers how to connect a chatbot to the popular CRM software, which can be notoriously difficult.

8. Zoom SDK

Zoom is by far the most popular video conferencing platform on the market. It’s little surprise that the Zoom SDK is one of the best around. It shows developers how to get started with video and audio chatting to data streams. Zoom also supports various platforms, providing SDKs for everything from iOS to Flutter. They even provide SDKs for creating UIs. Most impressively, the Zoom SDK provides examples of advanced and obscure applications, such as choosing a particular data center for situations like ensuring HIPAA compliance.

9. Freshteam SDK

Freshteam is an HR platform by Freshworks. Their SDK is a masterclass of practical, real-world examples, including automating tasks and designing custom workflows. They also offer support for the most popular programming languages. With their SDKs, you can audition common HR tasks like interacting with employee data, creating and tracking applications, and processing time-off requests.

10. Plaid SDK

Financial APIs have a special need for consistency and security, as you can see with the rise of standards like FAPI, FDX, and open banking. Plaid SDK deserves to be mentioned for that alone. Their SDK library is also an example of a clean, easily understood resource that lets you get started with an API with minimal effort. Last but not least, it demonstrates how SDKs don’t need to be created by the company, either. Several of Plaid’s SDKs were made by the community of developers using their product.

Characteristics of SDKs With Great Developer Experiences

These examples of SDKs with great developer experiences give you an idea of what your SDK should contain to make it most useful for your users. First and foremost, it should be fast and easy to install so that users can try out your API with minimal effort. To enable this, SDKs are often hosted with popular package managers like pip or npm.

Thorough documentation is essential to delivering a great developer experience. Many of the best API SDKs we’ve analyzed feature documentation that is clear and easily understandable but also laid out in an appealing way. Code samples are also one of the most vital elements of a quality SDK, as they allow developers to use an API by simply copying and pasting some code. Code snippets can be included for numerous functions, acting as a guided tour of what an API is capable of.

Ideally, SDKs should offer support for as many different programming languages and platforms as possible. Many SDKs don’t stop with Python, JavaScript, or C##. They also provide resources for languages like Flutter or React, so that a wide cross-section of developers can demo an API. Finally, an SDK needs to be self-contained, possessing everything a user needs to try out an API in any circumstance.

Final Thoughts on SDKs With Great Developer Experience

We’ve spent much time in this article making SDKs sound like the best thing since direct current. We’ll wrap up with a quick caveat. Some developers say it’s time for SDKs to die. According to developer Keith Casey, SDKs are too unwieldy for today’s API industry. Casey makes the case that it’s too hard to know what languages to use to create SDKs ahead of time, for one thing. He’s also skeptical of their support for various libraries.

Lastly, Casey suggests that SDKs are too slow and brittle, where an API grows much more quickly than SDK development can keep up with. Developers like Casey are of the opinion that good documentation, packed with useful, real-world examples, can achieve everything that an SDK can. Whether or not this is true or helpful to everyone will be a matter of opinion.

Others feel that SDKs won’t be necessary fairly soon, considering the advances in generative AI throughout the last few years and its emerging role in API management. AI could potentially generate all necessary resources from a good API specification.

Should you decide against using an SDK, make sure to be very specific about the resources necessary to run your tool. Users must be aware of specific versions of libraries or platforms to use, for example. Should you decide to go ahead with an SDK, be sure to keep your SDKs up-to-date to continue delivering an exceptional developer experience.