Generally
speaking, SDK, short for software development kit, is a programming package
which enables a programmer to develop applications for a certain software
package, software framework, hardware platform, computer system, video game
console, operating system, or similar development platform. Typically an SDK
includes one or more APIs, programming tools, and documentation.
SDK can
be very simple. Sometimes, it can be as easy as to implement one or more
application programming interfaces to a particular programming language. Under
some other circumstances, SDK may be a little more complicated which includes
the implementation of sophisticated hardware which is capable of communicating
with a particular embedded system. Generally speaking, the common utilized
tools are debugging facilities and other utilities. Moreover, sample code and
supporting technical notes or other supporting documentation are usually
included for they can be used to help clarify points caused by the primary reference
material.
As a
rule, the SDK can be downloaded directly via the internet. Software engineers
often get the SDK from the target system developer. The majority of SDKs are
usually provided for users free of charge, which may encourage the developer to
use the system or language in return. Some people just use this as a marketing
tool to promote their products from time to time.
The
add-on software itself, which can be used for development purpose, may be
included in an SDK for an operating system add-on, and QuickTime for Mac OS is
an example.
Under
some circumstances, the software may be replaced by a more specific term by the
provider of SDKs for specific systems or subsystems. For instance, both Microsoft
and Apple offer driver development kits instead of software development kits
for developing device drivers, which will provide the user with more help and
advantage and convenience.