API


Una interfaz de programación de aplicaciones ( API ) es una conexión entre computadoras o entre programas de computadora . Es un tipo de interfaz de software que ofrece un servicio a otras piezas de software . [1] Un documento o estándar que describe cómo construir o usar una conexión o interfaz de este tipo se denomina especificación API . Se dice que un sistema informático que cumple con este estándar implementa o expone una API. El término API puede referirse tanto a la especificación como a la implementación.

A diferencia de una interfaz de usuario , que conecta una computadora a una persona, una interfaz de programación de aplicaciones conecta computadoras o piezas de software entre sí. No está destinado a ser utilizado directamente por una persona (el usuario final ) que no sea un programador informático que lo incorpore al software. Una API a menudo se compone de diferentes partes que actúan como herramientas o servicios que están disponibles para el programador. Se dice que un programa o un programador que utiliza una de estas partes llama a esa parte de la API. Las llamadas que componen la API también se conocen como subrutinas , métodos, solicitudes o puntos finales . Una especificación API defineestas llamadas, lo que significa que explica cómo usarlas o implementarlas.

Uno de los propósitos de las API es ocultar los detalles internos de cómo funciona un sistema, exponiendo solo aquellas partes que un programador encontrará útiles y manteniéndolas consistentes incluso si los detalles internos cambian más adelante. Una API puede estar hecha a medida para un par de sistemas en particular, o puede ser un estándar compartido que permita la interoperabilidad entre muchos sistemas.

El término API se usa a menudo para referirse a las API web , [2] que permiten la comunicación entre computadoras que están unidas por Internet . También hay API para lenguajes de programación , bibliotecas de software , sistemas operativos de computadora y hardware de computadora . Las API se originaron en la década de 1940, aunque el término no surgió hasta las décadas de 1960 y 1970. Los desarrollos recientes en el uso de API han llevado al aumento de la popularidad de los microservicios , que en última instancia son servicios poco acoplados a los que se accede a través de API públicas. [3]

Al crear aplicaciones, una API simplifica la programación al abstraer la implementación subyacente y solo exponer objetos o acciones que el desarrollador necesita. Mientras que una interfaz gráfica para un cliente de correo electrónico puede proporcionar al usuario un botón que realiza todos los pasos para obtener y resaltar nuevos correos electrónicos, una API para la entrada/salida de archivos puede brindar al desarrollador una función que copia un archivo de una ubicación a otra sin lo que requiere que el desarrollador comprenda las operaciones del sistema de archivos que ocurren detrás de escena. [4]

El término API inicialmente describía una interfaz solo para programas orientados al usuario final, conocidos como programas de aplicación . Este origen todavía se refleja en el nombre "interfaz de programación de aplicaciones". Hoy en día, el término es más amplio e incluye también software utilitario e incluso interfaces de hardware . [6]


Un diagrama de 1978 que proponía la expansión de la idea de la API para convertirse en una interfaz de programación general, más allá de los programas de aplicación . [5]
Aunque las personas que acuñaron el término API estaban implementando software en un Univac 1108 , el objetivo de su API era hacer posibles los programas independientes del hardware . [7]