Header Ads Widget

Ticker

6/recent/ticker-posts

¿Cuál es la diferencia entre una interfaz y una API?

 Solía ​​pensar que JavaScript no tiene interfaces porque no tiene la Interfacepalabra clave, a diferencia de Java.

Palabra clave de interfaz en Java

Pero JavaScript TIENE interfaces. Me enteré de esto cuando intenté buscar en Google la locationAPI, que resultó en la locationInterfaz 🤦‍♂️.

Interfaz de ubicación.

Estaba confundido. ¿Cuál es la diferencia entre una interfaz y una API? Me senté y lo resolví (como de costumbre). Quiero compartir con ustedes mi nuevo entendimiento en este artículo.

Comencemos con las interfaces.

¿Qué es una interfaz?

Según un diccionario, una interfaz es un punto donde dos cosas (personas, sistemas, objetos, etc.) se encuentran e interactúan .

¿Confundido todavía? Comencemos con algunos ejemplos.

Primer ejemplo: existe una cosa llamada Interfaz gráfica de usuario (GUI), donde usas un programa que contiene botones e imágenes y demás. En este caso, usted (persona) interactúa con la computadora a través de la GUI.

Segundo ejemplo: también existe esta cosa llamada Interfaz de línea de comandos (CLI). En este caso, usted (persona) interactúa con la computadora a través de líneas de código.

Tercer ejemplo: digamos que usa Visual Studio Code para codificar. Cuando escribe código, interactúa con Visual Studio Code, que también es una interfaz entre usted y la computadora.

Los tres son interfaces entre personas y computadoras.

Vamos a mejorar esto.

Cuando escribe JavaScript, se le proporcionan muchas palabras clave que puede utilizar.

  • Un ejemplo es locationdonde puede interactuar con la URL en el navegador.
  • Otro ejemplo es fetch, donde puede interactuar con otros sitios web o servidores a través de una solicitud.

Ambos locationfetchson interfaces : te proporcionan una cosa (un conjunto de código) que puedes usar para hablar con otra cosa (el navegador).

¿Quieres una prueba? MDN dice que Fetch API también te proporciona una interfaz 😉.

La documentación de MDN dice que Fetch API proporciona una interfaz.

Entonces, ¿qué es una API?

API es la abreviatura de Interfaz de programación de aplicaciones. (Nuevamente, la palabra clave de la interfaz. Lo solucionaremos). Podemos dividir aún más las API en dos tipos:

  • API web
  • Resto de API

Las API web le permiten interactuar con los navegadores: escribe código en su computadora y lo correcto sucederá mágicamente en el navegador de un usuario.

Las API de descanso permiten que los navegadores (y servidores) interactúen con otros navegadores y servidores: el navegador A envía una solicitud y el servidor B responde. El navegador A sabe cómo interpretar mágicamente esta respuesta.

Para que suceda toda esta magia, debe seguir un conjunto específico de instrucciones establecidas en la documentación de la API.

Los ejemplos de tales documentos incluyen API de Github Resto , REST API de Youtube , y todas las APIs Web se pueden encontrar en MDN . (Por supuesto, también existe GraphQL hoy en día. Puede asumir que son como las API Rest, solo que están escritas en un formato diferente)

En este punto, parece que una API es una interfaz con un conjunto específico de instrucciones vinculadas. Pero profundicemos para desentrañar el misterio. Veremos las API web y las API Rest por separado.

La relación entre las API web y las interfaces

Las interfaces son el objeto contenedor que se le proporciona . locationfetchhistorydocumentSon todos ejemplos de Interfaces - que están expuestos para su uso.

Al mismo tiempo, también son interfaces de programación de aplicaciones porque solo se pueden utilizar de formas específicas . Si no sigue estos métodos específicos establecidos para usted, el código fallará.

Por ejemplo, intente correr document.helloworldy vea qué sucede 😉. Estoy bastante seguro de que dará como resultado un error a menos que usted mismo haya extendido la API.

Por extensión, todas las bibliotecas le proporcionan al menos una interfaz.

Ejemplos:

  • Si usa jQuery, $es la interfaz.
  • Si usa React, Reactes la interfaz.

La relación entre las API de descanso y las interfaces

Las API de descanso son ligeramente diferentes. No le proporcionan una interfaz directa. Por ejemplo, no hay una palabra clave "Github" para que use la API de Github Rest.

Debe utilizar las API de Rest a través de otra interfaz como fetchaxiosEn este sentido, las API de Rest son más como un conjunto de reglas y formatos que debe seguir .

Resumiendo API

Una vez que combinamos estos dos tipos de API, podemos tener una mejor idea de lo que es realmente una API : son las reglas y los formatos que debe seguir para usar una interfaz.

Interfaz con interfaces

Lo que estamos viendo aquí es solo un final de la historia, solo lo estamos viendo desde nuestra perspectiva.

La verdad es que cuando los desarrolladores programan una API web, también deben seguir ciertas pautas antes de que el navegador pueda hacer cosas. Cuando los desarrolladores programan una API Rest, también deben seguir pautas para hacer cosas (como enviar los datos a una base de datos, por ejemplo).

Así que son interfaces hasta el final. Es una madriguera de conejo. 🕳️🐇

Conclusión

Solo dos puntos para resumir:

  • Las interfaces son el objeto contenedor que se le proporciona.
  • Interfaces de programación de aplicaciones es un conjunto de reglas que debe seguir para usar lo que desea usar.

¡Eso es! Espero que esto te aclare las cosas.

Si te gustó este artículo, ¡cuéntaselo a un amigo! Compártelo en Twitter . Si detecta un error tipográfico, le agradecería que lo corrija en GitHub . ¡Gracias!

Publicar un comentario

0 Comentarios