The term “platform” is used to mean any set of software, services and resources that are considered defined in a certain context, so they can be used as building blocks for application software (or to create a higher-level platform on top of this - something is considered platform in a different context)
API is an abbreviation for application programming interface. This usually means collecting conditional calls (function signatures, etc.) that can be used by the application (the program you are writing) to view functions that are inside the library or platform.
An API is not the same as a library - the term Interface conveys that it indicates only what you can name and how it works. The actual library that implements the interface can decide for itself how it provides the specified functionality.
A good example of an API is, for example, the JDBC API, a standard way for Java programs to interact with databases. Each database provider has its own protocol for connecting to the database, binding variables, etc. To database commands, but the JDBC API abstracts all this and defines a common basis, which allows all Java programs to use the same set of functions for communication - ideally - any database. The task of the database provider is to actually provide a driver, that is, implement a library that complies with the API and knows how it can perform its tasks for this particular database system. Thus, in this case, you have many driver libraries (each supplier has its own, and sometimes several), but they all perform their functionality using the same set of functions, classes, etc., Defined APIs (in this case JDBC API - see http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html
Sometimes the API is so extensive that it is considered a platform, but the term platform is more general, the platform does not have to be an API. For example, a set of standard UNIX utilities, such as ls, grep, cd, etc., can be considered as a platform, but not so much an API.
Rolling bouman
source share