Flujo de comunicación entre front-end y back-end en aplicaciones web

Clase 2 de 20Curso de API REST con Javascript: Fundamentos

Resumen

Comprender la interacción entre usuarios, front-end y back-end es vital para desarrollar aplicaciones web modernas. El flujo de datos y el papel de tecnologías como JavaScript y APIs REST definen la experiencia del usuario y la eficiencia de la app.

¿Qué sucede cuando un usuario interactúa con una página web?

Cada vez que ingresas a una página como Platzi o YouTube, el proceso inicia en tu navegador (Google Chrome, Firefox, Safari, etc.). Escribes una URL (como platzi.com) y esto se transforma en una solicitud dirigida al back-end. El back-end, muchas veces invisible para el usuario, corresponde al servidor de la app, encargado de gestionar las peticiones.

  • El navegador actúa como intermediario entre el usuario y el servidor.
  • El usuario no recibe directamente la información, sino a través del flujo navegador-servidor-navegador.
  • La respuesta estándar del back-end suele ser en HTML, permitiendo visualizar imágenes y textos.

¿Qué es el server-side rendering y cómo influye en la experiencia de usuario?

El server-side rendering consiste en que cada vez que navegas entre páginas ( por ejemplo, de la página principal al blog), el navegador realiza otra petición al servidor, que responde con un nuevo HTML para cada vista.

  • Cada clic suele recargar la página completa desde cero.
  • Imágenes, CSS y otros recursos se cargan cada vez.
  • Este proceso puede hacer que la experiencia sea más lenta, especialmente en sitios grandes.

¿Por qué JavaScript y las single-page applications mejoran la navegación?

Gracias a JavaScript, surgieron las single-page applications (SPA). JavaScript permite manipular el contenido visual (DOM) sin recargar todo desde el servidor.

  • JavaScript escucha acciones del usuario como clics, scroll o escritura en formularios.
  • Estas acciones pueden detonar solicitudes a APIs sin refrescar la página.
  • En vez de pedir un HTML completo, el navegador consulta la API (usando formatos como JSON) y actualiza solo la parte necesaria en la vista.
  • Esto hace que la aplicación parezca mucho más veloz al usuario.

¿Cómo se comunican el front-end y el back-end usando APIs?

En este modelo, el front-end (gracias a JavaScript) accede a APIs del back-end (por ejemplo api.platzi.com) para intercambiar información.

  • El usuario realiza una acción: JavaScript lo detecta.
  • JavaScript consulta la API REST del back-end.
  • El back-end responde, generalmente en formato JSON.
  • JavaScript actualiza el HTML para mostrar la nueva información, sin recargar la página completa.

¿Qué rol juegan las bases de datos en este flujo?

El back-end se apoya en bases de datos como MySQL, PostgreSQL o MongoDB para persistir información. De este modo:

  • Si un usuario crea o modifica contenido (comentarios, videos, etc.), esa información se guarda en la base de datos, no solo en el navegador.
  • Cuando se consulta información (como detalles de un curso), el back-end la extrae de la base de datos antes de devolverla al front-end.
  • Así, los cambios son accesibles para todos los usuarios presentes y futuros.

¿Por qué la comunicación entre usuario, front-end y back-end es más compleja de lo que parece?

La interacción no se limita a simples consultas y respuestas. El front-end traduce lo que hace el usuario en solicitudes precisas al back-end y, gracias a JavaScript y las APIs, solo se actualizan partes del contenido necesarias para la tarea en curso.

¿Te gustaría saber más sobre cómo se programan estos flujos o qué herramientas se usan en la práctica? ¡Anímate a compartir tus dudas o experiencias en los comentarios!