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 dicha conexión o interfaz 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 a la especificación o 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 de computadoras que lo está incorporando en el 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 usa 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 define estas llamadas, lo que significa que explica cómo usarlas o implementarlas.

Un propósito 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 posteriormente. Una API puede ser personalizada 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 conectadas por Internet . También hay API para lenguajes de programación , bibliotecas de software , sistemas operativos informáticos y hardware informático . Los API se originaron en la década de 1940, aunque el término no surgió hasta las décadas de 1960 y 1970.

Al crear aplicaciones, una API (interfaz de programación de aplicaciones) simplifica la programación abstrayendo la implementación subyacente y exponiendo solo los objetos o acciones que el desarrollador necesita. Si bien una interfaz gráfica para un cliente de correo electrónico puede proporcionar al usuario un botón que realiza todos los pasos para buscar y resaltar nuevos correos electrónicos, una API para la entrada / salida de archivos puede brindarle al desarrollador una función que copia un archivo de una ubicación a otra sin requiriendo que el desarrollador comprenda las operaciones del sistema de archivos que ocurren detrás de escena. [3]

El término API describía inicialmente 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 de utilidad e incluso interfaces de hardware . [5]


Un diagrama de 1978 que propone la expansión de la idea de API para convertirse en una interfaz de programación general, más allá de los programas de aplicación . [4]
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 . [6]