What is an SDK?
SDKs help software developers create applications for that specific platform, system, or programming language. Think of it kind of like a toolkit, or the plastic bag of tools that comes packaged with the parts of a dresser you’ve bought to assemble yourself—only for app development. You have the building blocks—or development tools—you need to get the job done, and what’s included in the kit varies from manufacturer to manufacturer.
Typically, a basic SDK will include a compiler, debugger, and application programming interfaces (APIs), but they can also include any of the following:
- Documentation
- Libraries
- Editors
- Runtime/development environments
- Testing/analysis tools
- Drivers
- Network protocols
A good SDK will supply any components a developer might find necessary when creating new applications for that specific product and its ecosystem. Some SDKs will also include an example or basic test project to help developers get started as quickly as possible.
Some examples of software development kits are the Java development kit (JDK), the Windows 7 SDK, the MacOs X SDK, and the iPhone SDK. As a specific example, the Kubernetes operator SDK can help you develop your own Kubernetes operator. It contains high-level APIs, tools for scaffolding and code generation, and extensions to cover common operator use cases.