Difference bewteen API and SDK

Started by
9 comments, last by CProgrammer 19 years, 10 months ago
I know what the two stand for but what''s really the difference. -CProgrammer
Advertisement
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).
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.
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
-----------------------------Amma
I get it now.
Thanks for clearing that up.
-CProgrammer
Well an API contains documentation and samples too.

--
You''re Welcome,
Rick Wong
- Google | Google for GameDev.net | GameDev.net''s DirectX FAQ. (not as cool as the Graphics and Theory FAQ)
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.

Beginner in Game Development?  Read here. And read here.

 

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
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.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
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.
"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke

This topic is closed to new replies.

Advertisement