SDKs. A software development kit or SDK (acronym in English for software development kit according to abbreviationfinder) is generally a set of development tools that allows a programmer to create applications for a specific system, for example certain software packages, frameworks , hardware platforms, computers, game consoles, operating systems, etc.
It is something as simple as an application programming interface (API) created to allow the use of a certain programming language, or it can also include sophisticated hardware to communicate with a certain embedded system. The most common tools include support for bug detection such as an Integrated Development Environment (IDE) and other utilities. SDKs also frequently include sample code and supporting technotes or other supporting documentation to help clarify certain points in the primary reference material.
DKs as a marketing technique
A programmer usually receives the SDK from the developer of the system for which the program is being written. Sometimes the SDK can even be downloaded from the Internet. In fact, many SDKs are freely distributed to encourage developers to use the system or language. So we can deduce that they are sometimes used as marketing tools, for example, Foo Products distributes the Widget SDK for free to encourage people to use it. Consequently, many people are encouraged to buy many other widgets of theirs since they can program them for free.
SDKs may include licenses that make them incompatible to create software that is intended to be made for an incompatible license. For example a proprietary SDK will probably be incompatible for free software development. And an SDK under the GPL license will possibly be incompatible with proprietary software development. However SDKs under the LGPL license are generally safe for proprietary software development.
SDK for add-ons
An SDK for a particular operating system plug-in (or add-on) (for example, QuickTime for Mac OS) may also include the plug-in software itself to be used for development but not necessarily for redistribution. An interesting cross-platform situation arises here where it is possible to develop applications that can start a system configuration without the add-on being installed, and use a Gestalt-like environment request routine to determine if the add-on is installed, and others where the app will simply fail to start. In other words, it is possible to build a single binary that works in configurations where the add-on is present or not, with reduced functionality in the latter case.
More specific terms
SDK vendors for certain systems or subsystems may use a more specific term than “software.” For example, both Microsoft and Apple provide Driver Development Kits (DDK) for developing device drivers, and PalmSource distributes its own development kit as the PalmOS Development Kit (PDK) or PalmOS Development Kit.
- Microsoft ‘s Virtual Earth SDK
- Microsoft’s DirectX SDK, on which, for example, most current Windows games are based
- Microsoft’s.Net Framework, on which many form-based applications are based
- Sun Microsystems’ Java SDK, on which, for example, CryptoDerk’s anti-vandalism tool is based
- Widgets toolkits, on which many utilities developed with object-oriented programming languages are based
- Turbo pascal
- The Source SDK, a tool designed by Valve in which you can design mods and maps for Source engine games. Available on Steam when you buy a game that uses the Source engine
- The Android SDK, developed by Google for its homonymous system