tags:

views:

122

answers:

3

SDK: What is it exactly? How it could be useful? Is it necessary for a developer?

Thanks

+5  A: 

SDK stands for Software Development Kit. It is essential for a developer to have the SDK for the technology he/she is working on.

For example, Qt SDK contains Designer, Assistant (documentation) and Qt Creator (IDE); and also includes qmake and libraries for developing Qt software.

Alan Haggai Alavi
Does it differ from a language compiler or help of a programming language?
odiseh
It will include the libraries/other API required for developing for the specific requirement. It may also include documentation. Compilers may or may not be included.
Alan Haggai Alavi
+3  A: 

SDK = Software Development Kit

It's a set of tools aimed at developing software for a specific platform or a specific API.

Sometimes it's needed, when it's the only way to get access to the platform/API at all. Other times it's not strictly neccessary (for example when a compiler already comes with the operating system), but it usually makes developing easier.

Guffa
OK, by introducing a new programming language, we should always seek for the SDK of it. So, what do you call MSDN? a help or a SDK?
odiseh
MSDN is not an SDK, as it's simply not a kit that you can download. I call it a developer resource.
Guffa
+5  A: 

The acronym SDK stands for Software Development Kit. The term software development kit is generally used to refer to a set of resources made available by a platform vendors to enable development on that particular platform.

The contents of an SDK are very much dependent on what is neccessary to give developers in order for them to successfully build software for that platform.

Typically an SDK will include:

  • API and / or achitecture dcumentation:
    This typically includes information such as class and method documentation and code samples to demonstrate the use of each method or class.
  • Library Files
    Any binary or source file that is neccessary or helpful to developers using the platform. For example, the Windows SDK includes windows.h which is the main header file for Win32 development.
  • Develoopment Tools and Utilities
    Applications created by the platform vendor in order to assist developers in creating applications. These may include compilers or other tools such as emulators and debuggers to enable code to be writen and tested, as well as other applications which are non-essential but useful in software development.
  • Sample Applications
    These are complete, usually small, applications written by the platform vendor in order to demonstrate some specific aspect of the platform. These applications often come with source code to help the devekoper better understand how the application is using the platform.
Crippledsmurf