A software development kit (SDK) is a set of tools provided by the manufacturer of (usually) a hardware platform, operating system (OS), or programming language. 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.