I think the meaning of "API" vs "SDK" changed in the networked world, and this article uses older, more traditional definitions.
Today, for network-based services, I'd say:
API describes, usually to humans, how to talk to something. It does not depend on specific programming languages. Example: AWS S3 API [0] talk about HTTP requests.
SDK is a library for computers which allows talking to service. SDKs are created for specific programming language, and SDK for each language is often slightly different. Example: AWS S3 SDK for Javascript [1] lists Javascript methods.
In restaurant terms, S3 API would be a take-out menu -- and it is up to you to find a phone, call the restaurant with an order, and pick up the meal. And S3 SDK would be a restaurant waiter -- they'll take your order and bring back the meal right to your table.
2 comments
[ 63.0 ms ] story [ 144 ms ] threadToday, for network-based services, I'd say:
API describes, usually to humans, how to talk to something. It does not depend on specific programming languages. Example: AWS S3 API [0] talk about HTTP requests.
SDK is a library for computers which allows talking to service. SDKs are created for specific programming language, and SDK for each language is often slightly different. Example: AWS S3 SDK for Javascript [1] lists Javascript methods.
In restaurant terms, S3 API would be a take-out menu -- and it is up to you to find a phone, call the restaurant with an order, and pick up the meal. And S3 SDK would be a restaurant waiter -- they'll take your order and bring back the meal right to your table.
[0] https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operatio...
[1] https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.h...