¿Todo precisa una API?
Las APIs son una de las tecnologías que más se usan en el desarrollo web
¿Pero qué son?
¿Para que se usan?
¿Siempre tienen que haber APIs en el software que creamos?
La sigla ”API” significa Application Programing Interface, en español es “Interfaz de Programación de Aplicaciones”. Esto no nos indica de forma tan directa que es una API, así que pongámoslo en palabras más humanas.
Cuando se desarrolla un sistema de software se puede dividir el trabajo en dos grandes partes: la parte de interacción con el usuario (también llamado Front End) y la lógica del negocio (llamado Back End). Con lógica del negocio nos referimos a la sección del software que se encargará de aplicar la inteligencia al programa, que no será visible por el usuario.
Por ejemplo, cuando entras en una página web y clickeas un botón, sucederán cosas:
Muchas aplicaciones tienen el Front End y el Back End mezclados. Es decir, tienen un gran código de miles de líneas que tiene adentro tanto el Back como el Front.
Pero… ¿Qué pasa si luego decidimos programar una aplicación móvil para nuestra aplicación web?
Eso es un problema, ¡¡ya que tendríamos que desarrollar todo desde cero!!
Como nuestro Front End y Back End están mezclados, no podríamos separar las interfaces que ve nuestro usuario de la estructura lógica y las bases de datos necesarias para que nuestro sitio funcione.
Entonces, para este gran problema nacen las API.
Su gran objetivo es permitir la comunicación fluida entre distintos softwares, tanto puede ser el Front End de tu sitio con el Back End o hasta tú aplicación web con otra.
Esto es una gran ventaja, porque programar una API nos permitiría poder crear nuestro Front End “separado” de nuestro Back End, y crear la conexión mediante protocolos HTTP, que es la forma estándar de poder comunicarte con los servidores.
Recomendado por LinkedIn
Pero si mi Front End está programado en React y mi Back End en Python… ¿Cómo se entienden estos dos mensajes?
El lenguaje que usaría la API para comunicar la información sería JSON, que es una forma de codificar información que es entendida por todos los lenguajes de programación.
Entonces si nuestro Front End de React envía una solicitud a nuestro Back End de Python, esta solicitud será en JSON y la respuesta también será en JSON.
Cómo ves, es un trabajo en equipo espectacular, y cada pieza de un sitio funciona cómo un engranaje.
De esta manera, creando un Back End, podrías alimentar un sinfín de Front End distintos, por ejemplo un sitio web, una App de celular y hasta una conexión con un sitio amigo.
O también podrías crear varios Back End si tenemos necesidad de procesar mucha información en distintos servidores y queremos mantener los sistemas rápidos, fáciles de manejar y con la posibilidad de controlar el riesgo si hay alguna caída de algún servidor.
Gracias a las API tenemos un mundo de nuevas posibilidades de conectar información y sitios entre sí.
Por ejemplo, si quisiéramos conectar la información del clima con nuestro sitio, lo podríamos hacer ya que hay varios sitios del clima que tienen su API abierta al público. También, podríamos conectar nuestro sitio con noticias, o podríamos conectarnos con APIs más particulares, por ejemplo una que nos permite traer toda la información respecto a todos los pokemones que existen hasta el día de hoy.
En resumen, si creés que tu página a futuro va a necesitar una aplicación web es probable que te convenga generar una API y un frontend por separado. Si simplemente estás haciendo una página web institucional que no va a ser necesaria una escalabilidad de vistas (Front End) o procesamiento (Back End), entonces no será necesario desarrollar APIs para tu sitio.
Recuerda que las páginas web pueden ser responsivas y quizás no necesites nunca desarrollar una API.
¿Te gustó esté post? Entonces te dejo el link para que veas nuestro blog
¡Nos vemos la semana que viene!... o como diría una API:
{
"saludo": "¡Nos vemos la semana que viene!",
“Nombre”: “Nacho”
}