Information about Software Development Kit

A software development kit (SDK or "devkit") is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar.

It may be something as simple as an application programming interface in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system. Common tools include debugging aids and other utilities often presented in an IDE. SDKs also frequently include sample code and supporting technical notes or other supporting documentation to help clarify points from the primary reference material.

A software engineer typically receives the SDK from the target system developer. Often the SDK can be downloaded directly via the Internet. Many SDKs are provided for free to encourage developers to use the system or language. Sometimes this is used as a marketing tool. For example, Foo Products might provide the Widget SDK for free to encourage people to use it. In turn, more people will be encouraged to buy more of their widgets since they can program them for free.

SDKs may have attached licenses that make them unsuitable for building software intended to be developed under an incompatible license. For example, a proprietary SDK will likely be incompatible with Free software development, while a GPL licensed SDK will likely be incompatible with proprietary software development. LGPL SDKs are typically safe for proprietary development.

An SDK for an operating system add-on (for instance, QuickTime for Mac OS) may include the add-on software itself, to be used for development purposes, if not necessarily for redistribution. An interesting situation arises here between platforms where it is possible to develop applications that can at least start up on a system configuration without the add-on installed, and use a Gestalt-style run-time environment query to determine if the add-on is present, and ones where the application will simply fail to start. In other words, it is possible to build a single binary that will run on configurations with and without the add-on present, albeit operating with reduced functionality in the latter situation.

Providers of SDKs for specific systems or subsystems may sometimes substitute a more specific term instead of software. For instance, both Microsoft and Apple Computer provide Driver Development Kits (DDK) for developing device drivers, and PalmSource brands its development kit as PalmOS Development Kit (PDK).

Examples

See also

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.[1] The term software engineering
..... Click the link for more information.
Application software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. This should be contrasted with system software which is involved in integrating a computer's various capabilities,
..... Click the link for more information.
Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system. [1]
..... Click the link for more information.
A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software.[1][2] Software frameworks can be object-oriented designs.
..... Click the link for more information.
Hardware is a general term that refers to the physical artifacts of a technology.It may also mean the physical components of a computer system.

Hardware historically meant the metal parts and fittings that were used to make wooden products stronger, more functional, longer
..... Click the link for more information.
computer is a machine which manipulates data according to a list of instructions.

Computers take numerous physical forms. The first devices that resemble modern computers date to the mid-20th century (around 1940 - 1941), although the computer concept and various machines
..... Click the link for more information.
video game console is an interactive entertainment computer or electronic device that manipulates the video display signal of a display device (a television, monitor, etc.) to display a game.
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
An application programming interface (API) is a source code interface that an operating system or library provides to support requests for services to be made of it by computer programs.
..... Click the link for more information.
A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. Programming languages, like natural languagess, are defined by syntactic and semantic rules which describe their structure and meaning respectively.
..... Click the link for more information.
An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions.[1] It is usually embedded as part of a complete device including hardware and mechanical parts.
..... Click the link for more information.
A programming tool or software tool is a program or application that software developers use to create, debug, or maintain other programs and applications. The term usually refers to relatively simple programs that can be combined together to accomplish a task, much as one
..... Click the link for more information.
Utility software (also known as service program, service routine, tool, or utility routine) is a type of computer software. It is specifically designed to help manage and tune the computer hardware, operating system or application software, and
..... Click the link for more information.
integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, a compiler and/or interpreter, build automation tools, and (usually)
..... Click the link for more information.
Internet is a worldwide, publicly accessible series of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP). It is a "network of networks" that consists of millions of smaller domestic, academic, business, and government
..... Click the link for more information.
Property law
Part of the common law series
Acquisition of property
Gift  · Adverse possession  · Deed
Lost, mislaid, and abandoned property
Alienation  · Bailment  · License
Estates in land
..... Click the link for more information.
Free software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions only to ensure that further recipients can also do these things.
..... Click the link for more information.
GNU General Public License
Author: Free Software Foundation
Version: 3
Copyright on the license: Free Software Foundation, Inc.
Publication date: 29 June 2007
OSI approved: Yes
Debian approved: Yes
Free Software:
..... Click the link for more information.
GNU Lesser General Public License
Author: Free Software Foundation
Version: 3
Copyright on the license: Free Software Foundation, Inc.
Publication date: 2007-06-29
OSI approved: Yes
Debian approved: Yes

..... Click the link for more information.
Maintainer: Apple Inc.

OS: Mac OS X, Windows XP and Vista

Use: Multimedia framework
License: Proprietary
Website: www.apple.com/quicktime/ QuickTime is a multimedia framework developed by Apple Inc.
..... Click the link for more information.

..... Click the link for more information.
Gestalt was the name of a system call introduced into the Apple Macintosh operating system System Software 6.0.4 in 1989 to allow applications to dynamically query what capabilities were present in the running system configuration.
..... Click the link for more information.
Microsoft Corporation

Public (NASDAQ:  MSFT )
Founded Albuquerque, New Mexico, USA (April 4 1975)[1]
Headquarters Redmond, Washington, United States

Key people Bill Gates, Co-founder and Executive Chairman ;
Paul Allen, Co-founder ;
..... Click the link for more information.
Apple Inc.

Public (NASDAQ:  AAPL , LSE:  ACP , FWB: APC )
Founded California (April 1 1976, as Apple Computer, Inc.)
Headquarters 1 Infinite Loop, Cupertino, California

Key people Steve Jobs, CEO & Co-founder
Steve Wozniak, Co-founder
..... Click the link for more information.
A device driver, or software driver is a computer program allowing higher-level computer programs to interact with a computer hardware device.

A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware is
..... Click the link for more information.
PalmSource, now known as ACCESS Systems Americas, Inc., is a subsidiary of ACCESS which develops the Palm OS PDA operating system. PalmSource was spun off from Palm Computing.
..... Click the link for more information.
Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms.
..... Click the link for more information.
Microsoft Corporation

Public (NASDAQ:  MSFT )
Founded Albuquerque, New Mexico, USA (April 4 1975)[1]
Headquarters Redmond, Washington, United States

Key people Bill Gates, Co-founder and Executive Chairman ;
Paul Allen, Co-founder ;
..... Click the link for more information.
The Java Development Kit (JDK) is a Sun Microsystems product aimed at Java developers. Since the introduction of Java, it has been by far the most widely used Java SDK.
..... Click the link for more information.
Sun Microsystems

Public (NASDAQ:  JAVA )
Founded 1982
Headquarters Santa Clara, California, United States

Key people Scott McNealy, Chairman
Jonathan I.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus


page counter