La abreviatura API significa Interfaz de programación de aplicaciones y describe una interfaz de programación. La conexión se realiza a nivel de código fuente. Las API se utilizan en muchas aplicaciones y se utilizan en el entorno web en forma de API web.
El uso de módulos de código junto con las API hace que los programas sean menos propensos a errores y más fáciles de mantener, sobre todo para aquellas personas que no tienen mucho conocimiento acerca del mundo de la programación.
Índice de contenidos
Conceptos básicos y propiedades de una API
Una interfaz de programación se utiliza para intercambiar información entre una aplicación y partes individuales del programa de manera estandarizada. La transferencia de datos y comandos se estructura según una sintaxis previamente definida. La API permite programar para ser modularizado y de ese modo simplificado. Las partes individuales del programa vinculadas a través de una API cumplen funciones específicas y están claramente separadas del resto de la aplicación.
La comunicación entre módulos de programa individuales solo es posible a través de la interfaz especificada con precisión. La API define la forma en que el módulo de la aplicación recibe la información y los datos y los envía de vuelta. La interfaz de programación de la aplicación no se ocupa del flujo real del programa dentro del módulo.
A diferencia de una interfaz binaria, la conexión del programa en la API se realiza únicamente en el nivel del código fuente. Si se proporciona una interfaz de programación, esto generalmente se hace junto con documentación detallada de las funciones individuales, la sintaxis exacta y los posibles parámetros. Se puede acceder a los componentes de hardware, bases de datos, funciones o interfaces de programas individuales y otros elementos a través de la API, esta es una de las razones por las que podemos ver que todas los programas y páginas más relevantes ya cuanta con dicha interfaz.
Diferenciación entre usuario e interfaz de programación
La interfaz de programación de la aplicación puede ser desde una interfaz de usuario (UI). Mientras que la interfaz de usuario proporciona la interfaz entre la lógica del programa y el usuario del software, la interfaz de programación de la aplicación es el equivalente al código de programa legible por máquina.
La interfaz de usuario recibe datos de los usuarios, los reenvía a la aplicación para su procesamiento y devuelve los resultados al usuario. La interfaz de programación de la aplicación no interactúa con el usuario, sino que procesa los datos recibidos de un módulo de programa y transmite los resultados al módulo de la mejor manera posible.
Ventajas mediante el uso de interfaces de programación
El uso constante de interfaces de programación ofrece muchas ventajas. El software complejo y muy grande se puede modularizar utilizando API y, por lo tanto, simplificarlo y hacerlo más rápido y funcional. Las funciones individuales se pueden subcontratar a módulos de programa, lo que da como resultado una estructura general limpia. El uso del código de programa modular junto con las API hace que los programas sean menos propensos a errores y más fáciles de mantener.
Si las funciones individuales funcionan incorrectamente, solo los módulos afectados y los datos transferidos a la API deben verificarse más de cerca. Otra ventaja de una interfaz de programación bien documentada en comparación con las aplicaciones sin API es la posibilidad de subcontratar el trabajo de programación. Gracias a la interfaz de programación, el desarrollo de subáreas individuales de software se puede transferir a una empresa de software externa o un desarrollador autónomo con poco esfuerzo.
Los proveedores externos
También pueden desarrollar funciones para el sistema ellos mismos. Esto aumenta el atractivo y la flexibilidad del producto en general y crea claras ventajas competitivas. Las API aparentemente sin cambios también aumentan la estabilidad a largo plazo de un sistema.
El código de programa real se puede cambiar según sea necesario sin afectar a los módulos que se han subcontratado a través de la interfaz de programación. Por tanto, no es necesario modificar otras aplicaciones. Gracias a la continuidad del software, los costos y la mano de obra se pueden reducir significativamente, lo que a su vez permite seguir mejorando cada vez más el software.
Clasificación básica de las interfaces de programación
Las interfaces de programación se pueden dividir en cuatro tipos diferentes. Estas clases de tipos básicas son:
- API orientadas a funciones
- API orientadas a archivos
- API orientadas a objetos
- API orientadas a protocolos
Mientras que las interfaces orientadas a funciones utilizan principalmente funciones y sus parámetros para la comunicación, las API orientadas a archivos abordan archivos individuales y funciones de archivo con la ayuda de varias llamadas al sistema de archivos. Las interfaces de programación orientadas a objetos funcionan con los denominados punteros de interfaz y son significativamente más flexibles que las interfaces puramente orientadas a funciones. Una característica esencial de las API orientadas a protocolos es su independencia de un sistema operativo definido o hardware específico.
Ejemplos de API de uso común
Las API se pueden encontrar en muchas áreas de las más variadas aplicaciones de software. Muchas API web públicas están disponibles en el entorno web, con las que se pueden integrar ofertas en sus propias aplicaciones. Por ejemplo, existen API para servicios como:
- Wikipedia
- PayPal
- DHL
- Etc.
En el entorno web, las API se utilizan a menudo en tiendas online y sistemas de gestión de contenido. Se pueden conectar diferentes proveedores de servicios de pago, mercados en línea, sistemas de clasificación de tiendas o proveedores de servicios de envío y otros servicios a los diversos sistemas de una manera estandarizada con poco esfuerzo.
Las interfaces de autenticación y autorización son un tipo especial de API web. Las API como Facebook Connect o el estándar OpenID permiten a los usuarios iniciar sesión en otros portales sin la necesidad de su propia administración de usuarios. Se puede utilizar una única identidad de usuario para muchos portales diferentes a través de estas API.