« Back to Index

[SDK and API]

View original Gist on GitHub

Tags: #sdk #api

SDK and API.md

It falls along the lines of “All SDKs are/contain APIs but not all APIs are SDKs”.

SDK

An SDK is a complete set of APIs that allow you to perform most any action you would need to for creating applications. In addition an SDK may include other tools for developing for the platform/item that it is for.

The JDK (Java Development Kit) contains the API as well as the compilers, runtimes, and other miscellaneous tools.

API

An API on the other hand is just a series of related methods that may be good for a specific purpose.

The Java API is simply all the libraries that make up the core language that you can work with out of the box.

Example

Imagine wanting to use AWS Cognito for building a user authentication system.

The AWS Cognito API might be a preferred choice for a mobile apps team because the API provides the core functionality, but also allows the app team to implement the remainder of the functionality/behaviour themselves. On the flipside, the SDK will provide ‘out-of-the-box’ solutions that the API does not (login modals etc).