Frontend y Backend - ¿Qué son?
Hace poco leí en el foro de la universidad la siguiente pregunta:
¿Qué son el frontend y el backend?
Es una pregunta de lo más normal. ¡Y también importante! Se trata de dos conceptos básicos a entender si uno quiere desarrollarse como ingeniero de software (básico en el sentido de primordial e importante, no sencillo o primitivo). Y a veces, en la educación, lo básico se pasa por alto (gran error) o se explica mal (peor error).
La sorpresa fue al leer las respuestas. No puedo decir que estuvieran mal, ¡pero tampoco puedo decir que estuvieran bien! Explicaban qué tipo de tecnologías se usan más en uno o en el otro, pero en ningún momento respondieron la pregunta sobre qué son exactamente.
¿Frontend? ¿Backend? Una explicación resumida pero imprescindible
Ambos conceptos forman parte de la creación de un proyecto de software conectado a Internet. Ninguno es más importante que el otro: ambos son necesarios y, de hecho, se necesitan el uno al otro.
Su aparición nace de la necesidad de repartir dos tipos de responsabilidades que existen en este tipo de aplicaciones. Tranqui, sigue leyendo que te lo explico.
Sobre cómo funciona la red
La finalidad de Internet es la de poner en comunicación dos computadoras para que puedan intercambiar información. En realidad, se parece bastante a cuando haces una llamada telefónica a tu madre.
- Mamá, ¿qué hay para comer?
- Hijo mío, tienes 54 años. Por favor, espabila un poco.
En esta comunicación telefónica existen tres elementos importantes:
- Tu teléfono
- El teléfono de tu madre
- La línea telefónica
A grandes rasgos, Internet funciona igual. Supongamos que quieres ver la cartelera de un cine. Los elementos serían:
- Tu navegador (ya sea en un PC o en tu teléfono)
- El servidor (un ordenador donde se almacena la web)
- Internet
Los elementos de ambos ejemplos tienen, más o menos, la misma función. Los dos primeros elementos de cada ejemplo serían los dos puntos finales de una comunicación, también llamados endpoints. El último consiste en el sistema que permite la conexión entre ambos endpoints.
Arquitectura cliente-servidor
En el mundo de la informática existe un concepto nombrado "cliente-servidor". Aquí debería explicar que se trata de un tipo de arquitectura y qué es una arquitectura, pero, la verdad, ahora eso no es importante.
Ambos ejemplos anteriores son ejemplos de una arquitectura cliente-servidor.
Tanto el cliente como el servidor son los dos endpoints en una comunicación entre ordenadores.
- Cliente: es aquel ordenador desde el cual se manda la petición de información. Eres tú (o, más bien, tu teléfono) cuando llamas a tu madre, o el navegador que usas al intentar abrir la página web del cine.
- Servidor: es aquel ordenador que está preparado para ofrecer la información. Se podría decir que sería tu madre cuando te responde, o el servidor que te muestra la página web del cine.
Ambos puntos finales son computadoras, y ambas computadoras necesitan de ciertas tecnologías para que la comunicación se pueda mantener. Pero ojo, estas tecnologías no son independientes y forman parte de un mismo conjunto.
Cuando se construye una aplicación web (como puede ser la aplicación de Netflix) se divide el proyecto en dos partes: el frontend, que trabaja con el cliente, y el backend, que trabaja con el servidor.
Lo que son realmente el frontend y el backend
Cuando hablamos de frontend hablamos de aquella parte de un proyecto de software que se encarga de la interacción directa con el usuario. Se trata del reproductor de vídeos que hay en Netflix o YouTube, de la colocación de los elementos de una página web como Wikipedia o este blog, y también de la interfaz de usuario que hay en Facebook o Instagram.
El frontend es aquella parte del proyecto que se pone en marcha en la computadora del cliente.
Es decir: el frontend es la cara del proyecto y además funciona en el ordenador del usuario final.
Cuando hablamos de backend nos referimos a aquella parte de proyecto de software que se encarga de la gestión de la base de datos y de la lógica del negocio. Es decir, es el motor de búsqueda de Google, es el algoritmo que decide las recomendaciones de Twitter, y es el almacenamiento de los datos de cada usuario de cualquier red social.
El backend es aquella parte del proyecto que se pone en marcha en la computadora del servidor.
Es decir: el backend es el corazón de la aplicación y además funciona en los ordenadores de la compañía que ofrece el servicio.
Comentarios
Publicar un comentario