Backend, frontend, what does it mean.png

Backend y Frontend: ¿qué significan?

Publicado en 03 julio 2019

Hora de lectura 4 minutos

Cuando se habla de programación, codificación o desarrollo web, puede ser difícil entender la jerga técnica. Cada vez con más frecuencia se oyen expresiones como backend y frontend. Pero, ¿qué significan?,  ¿qué son y para qué sirven?.


Tengo la costumbre de explicar estos términos técnicos a mis estudiantes de programación en su primer día y hoy voy a compartirlo también aquí contigo. 


Backend y frontend están en todas partes

En el campo del desarrollo informático, desarrollamos “aplicaciones”. Estas aplicaciones pueden ser un sitio web (por ejemplo, el sitio web de Wild Code School), una aplicación web (como Google Drive) o una aplicación móvil (Whatsapp). Para funcionar correctamente, una aplicación o sitio web a menudo necesita lo que se denomina en jerga tecnológica una parte de backend y una parte de frontend.


Backend y frontend simplificados

Para comprender mejor estos dos conceptos, desviémonos un momento de los términos técnicos y tomemos un ejemplo de la vida cotidiana: los servicios postales.


Imaginemos la siguiente situación: necesito enviar una carta a una empresa y, a cambio, tendrán que enviarme otra carta que responda a mi solicitud. En este ejemplo, la carta que tengo que enviar representa mi búsqueda de información en un sitio web (o aplicación web).


A continuación, desglosaremos las distintas acciones que se derivan del envío de mi carta y todos los pasos necesarios desde su envío hasta que reciba la respuesta de la empresa a mi solicitud. Varias partes interesadas participarán en los siguientes pasos:


- el cartero

- el buzon

- el centro de clasificación

- el correo

- Los cajones en los que se almacena el correo

- el correo


Ahora vamos a desglosar los pasos del proceso:


Al enviar mi carta por correo, todas las interacciones físicas que tendré mientras el correo esté en mis manos representan la parte frontal del negocio.


Por el contrario, todo el transporte y el procesamiento de mi correo (en el que no estoy directamente involucrado) representa la parte final del negocio.


Ahora deberías entender mejor la frase que se citó arriba: "el frontend es lo que vemos y el backend es lo que no vemos".  Veo mi correo cuando lo publico, veo el buzón, veo el cartero. Pero cuando mi correo está ordenado, almacenado, en tránsito, etc... No lo veo.  Esto representa la parte de backend del sistema.


Concretando para una aplicación o un sitio web

Los mismos conceptos se encuentran en el ciclo de vida de un sitio web o aplicación:


• Veo el sitio web en el que navego. Para interactuar con el sitio web, hago click en los enlaces o relleno los formularios que veo: eso el frontend.

• Una vez que finaliza la acción de hacer click, el sitio web o la aplicación funcionan de forma autónoma: recibe mi solicitud, busca la información que solicité (para ello, buscará en su base de datos y analizará/protegerá los datos), y me la devolverá: esto es la parte trasera.

• Una vez que el backend ha devuelto la información, puedo volver a examinarla e interactuar con ella: estoy de vuelta en la interfaz.


Ambos lados de un sitio web o una aplicación son esenciales (tanto como el centro de clasificación y el cartero): uno no puede trabajar sin el otro como con los servicios postales. La persona que entrega el correo y la que lo clasifica no son la misma.


Del mismo modo, cuando se desarrolla una aplicación o un sitio web, se necesitan tanto desarrolladores frontend como desarrolladores backend.


Comparando aún más...

Yendo aún más lejos, se podría hablar de seguridad o rendimiento: Correos ofrece diferentes métodos de envío para mi carta (certificado, entrega 24h...) que representan caminos ligeramente diferentes en la parte de fondo del proceso. En mi sitio web puedo variar el rendimiento y la seguridad de mis acciones a través de una pequeña diferencia de programación de mi backend.


En una aplicación, por ejemplo, a menudo tienes que registrarte ingresando una dirección de correo electrónico y una contraseña antes de acceder a tu área privada y personalizada. Aquí, rellenar el formulario representa la parte frontal: ves la acción. Si bien, la seguridad de tu cuenta representa el backend. No se puede ver que tu cuenta está protegida, pero es el caso. Todo se hace en el backend.


Podríamos diseñar la misma lógica con envíos en 24 horas y el rendimiento de procesamiento de un sitio web, por ejemplo.


¿Qué pasa con los lenguajes de programación?

Correos te permite enviar tus cartas, pero también puedes elegir otra compañía (DHL, Nacex, etc.). Cada uno ofrece sus propios servicios frontend y backend.


Con la programación es lo mismo pero lo llamamos lenguajes. Por ejemplo, para la programación de backend, usaría PHP, Java, Ruby... Para la programación de frontend usaría Javascript, HTML o CSS. 


Pararemos aquí por hoy.  ¡Ya has aprendido mucho!.


Volveré en un artículo siguiente para darte más detalles sobre la programación ;)


¡Hasta pronto!