El término "plataforma" se utiliza para designar cualquier colección de software, servicios y recursos que, en un contexto específico, se consideren como dados para que puedan usarse como componentes para el software de aplicación (o para construir un nivel superior plataforma además de eso, algo considerado una plataforma en otro contexto)
API es un acrónimo de la interfaz de programación de aplicaciones. Esto generalmente significa la recolección de convenciones de llamadas (firmas de funciones y similares) que pueden ser utilizadas por una aplicación (el programa que está escribiendo) para examinar la funcionalidad que reside dentro de una biblioteca o plataforma.
Una API no es lo mismo que una biblioteca: el término Interfaz transmite que solo especifica a qué puede llamar y cómo se comporta. La biblioteca real que implementa la interfaz puede decidir por sí misma cómo ofrece la funcionalidad especificada.
Un buen ejemplo de una API es, por ejemplo, la API JDBC: esta es la forma estándar para que los programas Java se comuniquen con las bases de datos. Cada proveedor de bases de datos tiene su propio protocolo para conectarse a la base de datos, variables de enlace y comandos de base de datos, pero la API JDBC abstrae todo eso y define un terreno común que permite a todos los programas java usar el mismo conjunto de funciones para hablar - idealmente - cualquier base de datos. El trabajo del proveedor de la base de datos es realmente proporcionar un controlador, es decir, implementar una biblioteca que esté de acuerdo con la API y sepa cómo puede cumplir sus tareas para ese sistema de base de datos en particular. Entonces, en este caso tiene muchas librerías de controladores (cada proveedor tiene las suyas, a veces múltiples) pero todas entregan su funcionalidad a través del mismo conjunto de funciones, clases, etc. especificadas por la API (en este caso, la API de JDBC - ver http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html
A veces, una API es tan extensa que se considera una plataforma, pero el término plataforma es más general, una plataforma no necesita ser una API. Por ejemplo, la colección de utilidades UNIX estándar como ls, grep , cd etc. puede considerarse una plataforma, pero no tanto una API.
La plataforma puede hacer referencia a una arquitectura de hardware o, en este caso, a un entorno de software. Consulte la respuesta de coobird para obtener más información –