¿Que es una API?

Puede que en alguna ocasión hayáis leído que algún programa o aplicación utiliza la API de un servicio web, pero ¿qué significa y qué es una API?

Las siglas API significan application programming interface que traducido literalmente al castellano seria interfaz de programación de aplicaciones, lo que tampoco aclara mucho el concepto.

Si acudimos a la Wikipedia API o Interfaz de programación de aplicaciones se define como una interfaz de comunicación entre componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios […] Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones de uso general. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio.

Pero a los profanos, tampoco es que esto aclare mucho. Para resumirlo en palabras no técnicas la API se trata de pre-programar una sistema que consiste en una serie de listas de palabras (funciones) que ejecutan cosas en tu aplicación o muestran parte de la información de tu servicio.

APIEsta lista de palabras o funciones, se publican en la documentación de la API. De  forma que cuando un programador externo quiere que en su programa se muestre la información que tu albergas, solo ha de hacer una llamada a la función adecuada que tu le proporcionas.

Es una forma de dar un acceso restringido a la  información de tu aplicación sin dejar que el programador externo acceda a tu código, solo puede usar y ejecutar aquellas cosas que tu has preparado y le permites.

La API era un concepto que se usaba generalmente en sistemas operativos para que los programadores de las aplicaciones y software pudieran llamar de forma fácil a componentes ya programados del sistema operativo. Pero donde han tenido y están teniendo un gran éxito actualmente es en las aplicaciones web.

En estas aplicaciones web programar y poner a disposición de otros la API significa que abren la puerta de una forma segura a que otros programadores puedan crear software que integre tu servicio.

Uno de los servicios web que mejor uso ha hecho de su API y le ha dado un gran crecimiento de programas alternativos para usarlo y de servicios complementarios a su alrededor ha sido Twitter.

Otro ejemplo de uso de API de un servicio web son los programas de escritorio que se usan para subir fotos a Flickr en vez de su uploader web propio.