SDK
A kit of code, tools and docs a company provides so you can build for its platform.
An SDK (software development kit) is a bundle that a platform gives to developers so they can build software for it. It usually contains libraries you call from your own code, documentation, sample projects and some tools, such as an emulator to test a phone app or a command-line program to set things up. Apple and Google publish SDKs for building iPhone and Android apps; AWS, Stripe and many others publish SDKs for using their services.
Many SDKs are a friendly layer on top of an API. Instead of building raw HTTP requests, handling authentication, retries and error codes by hand, you call something like payments.create(amount) in your own programming language and the SDK does the rest. The same service often offers one SDK per language: Python, JavaScript, Java, Go and so on.
There is a trade-off. An SDK saves time and avoids common mistakes, but it adds a dependency to your project and ties your code to that vendor's way of doing things. SDKs embedded in phone apps, for example for ads or analytics, can also collect data about users, which is why app stores now ask developers to disclose what their SDKs gather.
Keep in mind
- A bundle of libraries, docs, samples and tools for one platform.
- Often wraps an API so you can call it in your own language.
- Usually offered in several languages for the same service.
- Saves time, but adds a dependency and ties you to the vendor.