Archived

This topic is now archived and is closed to further replies.

CProgrammer

Difference bewteen API and SDK

Recommended Posts

Monder    993
API = Application Programming Interface
SDK = Software Development Kit

Basically the API is the actual libary. It is what you call when you call a libary function. An SDK is a collection of things that help you develop for something. E.g. the DX SDK has help files, source code examples, helper utilities etc as well as libary files and header files (which is the API part).

Share this post


Link to post
Share on other sites
Fidelio66    164
An API is an interface to a software component that is not part of your program.

The SDK is basically headers, source, libraries. You compile against the SDK headers and libs and those things become part of your software. Also tools but that''s outside of the scope.

The distinction is not strict. if you use directx, the D3DX library is available as a lib, not source. But it gets linked together with your software so it becomes part of it. But you don''t have the source for it so the interface between your software and it is an API.

Share this post


Link to post
Share on other sites
Amma    130
quote:
Original post by Fidelio66 The distinction is not strict.


It''s pretty strict. An API is only code, where a SDK includes an API with documentation, samples, etc.

-----------------------------
Amma

Share this post


Link to post
Share on other sites
Alpha_ProgDes    6930
quote:
Original post by Amma
quote:
Original post by Fidelio66 The distinction is not strict.


It''s pretty strict. An API is only code, where a SDK includes an API with documentation, samples, etc.

-----------------------------
Amma

By that definition, the Win32 API is really the Win32 SDK.

Share this post


Link to post
Share on other sites
Jx    122
quote:
Original post by Alpha_ProgDes
quote:
Original post by Amma
quote:
Original post by Fidelio66 The distinction is not strict.


It''s pretty strict. An API is only code, where a SDK includes an API with documentation, samples, etc.

-----------------------------
Amma

By that definition, the Win32 API is really the Win32 SDK.




Not really.. The Win32 API is really the .dlls and .libs, headers etc. If you add in the *documentation/examples for the api* that makes it an SDK...

Am I right in thinking that the Win32 API and Documentation/Examples fall under the Platform SDK?

Jx

Share this post


Link to post
Share on other sites
Extrarius    1412
The Windows API is an API, and the Platform SDK is a set of documentation, libraries, an headers to help programmers use the Windows API.

Share this post


Link to post
Share on other sites
Agony    3452
I personally never considered an API to be a "concrete" object. It is simply the interface, just like a header file for a C project. An API only declares which functions can be called, and how, and which variables are available. It isn''t the functions or variables themselves, just the declaration of their nature. The actual functions and variables would be the library, and the combination of the library, documentation, and possibly some examples would be an SDK. That''s just me though, I suppose.

Share this post


Link to post
Share on other sites
Dreq    100
As far as I know, an API is an programming ~interface~.

[Interface]
A noun describing a connection between two dissimilar devices or COM objects, such as Automation clients and servers. A common phrase is user interface, meaning the "connection" between the display-keyboard combination and the user.

SDK is a development ~kit~.

[Kit]
A set of articles or implements used for a specific purpose.



I think they are clearly two completly different things, and the terms are very broadly abused.


You can have a Win32 API which is the connection between the code and windows. And then you have the DirectX SDK which is a set of functions, that uses the Win32 (and directX?) API.

[edited by - dreq on May 27, 2004 9:59:34 PM]

Share this post


Link to post
Share on other sites