Una interfaz de programación de aplicaciones (API) representa una interfaz mediante la cual los programas pueden acoplarse a una aplicación de software central. De este modo, se puede disponer de software adicional en cualquier momento.
El término tiene su origen en el inglés y significa "application programming interface". La API permite que programas externos se conecten a un sistema de software específico a nivel de código fuente. A través del sistema operativo, los desarrolladores pueden configurar el hardware del sistema (por ejemplo, el disco duro) como deseen sin tener que dirigirse a él directamente. Aquí juegan un papel importante las bibliotecas, que, en colaboración con el sistema operativo, reciben las peticiones de los productos de software conectados y las transmiten a los controladores del hardware en el código adecuado. De este modo, el intercambio de datos entre programas, páginas web o usuarios es posible sin ningún problema.
¿Cuáles son las ventajas de una interfaz de programación de aplicaciones?
Si se dispone de una interfaz de programación completamente documentada, esto suele representar una mejora para una aplicación de software o su plataforma de hardware, ya que las actualizaciones de software o los programas ejecutables pueden importarse al sistema básico en cualquier momento. Cuanto mayor sea la gama de programas, mayor será el atractivo del sistema; esto es especialmente cierto en el caso de los sistemas operativos, las consolas de juegos o los dispositivos finales de TI, como los smartphones. Las APIs también se consideran estables a largo plazo, lo que da al desarrollador de una aplicación adicional la certeza de una compatibilidad sostenible de su aplicación con el sistema básico.
División de las interfaces de programación
Las interfaces de las APIs pueden dividirse en las siguientes categorías según su orientación de funcionalidad:
- Interfaces orientadas a funciones: Estas interfaces de programación reaccionan sólo a funciones, opcionalmente con o sin valor de retorno. La llamada de una función va seguida de la salida de un valor de referencia (handle). Este valor se utiliza para llamar a otras funciones; si todas las funciones están disponibles, el manejador se cierra.
Interfaces orientadas a archivos: Este tipo de interfaz se aborda mediante los comandos abrir, leer, escribir y cerrar. Los datos enviados se escriben con write, si los datos se van a recibir, se deben leer con el comando read.Interfaces orientadas a objetos: Las interfaces de programación orientadas a objetos se dirigen a punteros de interfaz definidos, lo que da a este tipo de interfaz una mayor flexibilidad en comparación con las interfaces orientadas a funciones. A menudo, una biblioteca de tipos o clases también se pasa con los datos.Interfaces orientadas a protocolos: Estas interfaces de programación no dependen de ningún sistema operativo o hardware, pero el protocolo de paso siempre debe ser reimplementado. Para facilitar este proceso, las interfaces orientadas al protocolo suelen estar encapsuladas por interfaces orientadas a la interfaz o a la función.Interfaz API RESTful: Un caso especial es la interfaz API RESTful, se trata de una interfaz para peticiones en formato HTTP, el acceso a los datos se realiza mediante comandos GET, PUT, POST y DELETE..