Skip to content

Instantly share code, notes, and snippets.

@romnct
Created June 24, 2022 22:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save romnct/6ac710c1d749998b74da62002fe3db0d to your computer and use it in GitHub Desktop.
Save romnct/6ac710c1d749998b74da62002fe3db0d to your computer and use it in GitHub Desktop.
Acerca de las APIs

Acerca de las APIs

¿Qué es una API?, ¿para qué sirve una API? y definir un ejemplo básico de una API.

Después de muchas webs visitadas, videos consumidos y divagando conmigo mismo he formulado las siguientes respuestas que me gustaría compartir con la comunidad para ver que opinan ustedes acerca de las mismas.

1. ¿Qué es una API?

Primero, busqué de qué palabras procedían las siglas API: application programming interface o Interfaz de programación de aplicaciones. Pensé en las palabras que formaban las siglas:

  • Aplicación: se trata de un programa o software.
  • Programación: definir una serie de instrucciones que pueda realizar una máquina.
  • Interfaz. (Este término no sabía que era y pensé que era clave para comprender que era una API).

La definición aportada por la Wikipedia es clave como una primera aproximación a las interfaces:

se utiliza en informática para nombrar a la conexión funcional entre dos sistemas, programas, dispositivos o componentes de cualquier tipo, que proporciona una comunicación de distintos niveles, permitiendo el intercambio de información.

Entonces, una API, según la información recogida hasta el momento es: unas instrucciones que realizan una conexión entre dos sistemas, en este caso aplicaciones,

interface-1

pero que podría ser otro tipo de sistemas: por ejemplo, la interacción usuario-ordenador.

interface-2

Indagando más y pensando acerca de la respuesta anterior encuentro una definición más precisa de lo qué es una interfaz en el contexto de la programación:

una interfaz en el ámbito del desarrollo de aplicaciones o programas es un conjunto de funciones (o métodos en la programación orientada a objetos) que ofrece una capa de abstracción a la aplicación.

Esto último es la clave, ofrecer una capa de abstracción a la aplicación, es decir, dotar una forma de comunicación a la aplicación con otras aplicaciones o incluso con partes de la misma sin exponer los datos o las funcionalidades empleadas para ello.

Por ejemplo, cuando usamos el reproductor de Spotify y clicamos el botón de reproducir estamos usando una función (o método) de la interfaz para reproducir la canción. Estamos abstrayendo al usuario final del proceso interno que se produce para reproducir la música.

interface-3

2. ¿Para qué sirve una API?

Si la interfaz son los métodos y la API son las instrucciones, entonces, la API separa la implementación del método del método en sí, es decir, cuando hablamos de una API hablamos de la implementación de la interfaz.

Siguiendo el ejemplo de Spotify, cuando se clica en el botón de reproducir el método llamado es el de reproducir y la implementación es el código que hace que la música comience. La interfaz o el método reproducir nunca van a cambiar, pero no es así en su implementación que puede sufrir modificaciones o, incluso, puede ser totalmente rediseñada.

Otro ejemplo: cuando creamos una aplicación en Spotify no estamos utilizando su API, sino que estamos utilizando su interfaz; ya que la API es la implementación de los métodos que usamos de la interfaz, los cuales, son privados, pero no así la interfaz que es pública.

interface-4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment