Al visitar esta página web quizás no seas consciente del camino que recorre este documento hasta llegar a ti. El navegador que tienes instalado en tu ordenador o móvil se conecta con una serie de máquinas hasta llegar a la que te está sirviendo esta web. Supongo que ya te sonará que a esa última máquina la llamamos «servidor web» y no es más que un ordenador. Pues bien, a la hora de dividir responsabilidades en el desarrollo web, todo lo relacionado con dicho servidor web se conoce como «back end«, el extremo final de cualquier web. De tanto uso, el término ha ido evolucionando hasta que pasó a escribirse «back-end» y de ahí llegó a «backend».
Siguiendo con el ejemplo de esta página, el servidor que se encarga de responder a tu navegador y enviarte esto está ejecutando WordPress, escrito en lenguaje PHP. Para escribir texto que aparezca aquí, existe un Área de Administración que viene con WordPress. Tras hacer login se entra en la administración y se puede escribir igual que con un procesador de textos como Microsoft Word. Aquí empieza inmediatamente la confusión con el término «backend» ya que muchos usuarios llaman así al Área de Administración. Sin embargo, el Área de Administración no es más que otro documento como éste. Es servido por el mismo ordenador que tiene instalado WordPress y que te está enviando estas líneas.
Entonces, ¿en qué se diferencian?
La diferencia se encuentra en que este documento es un artículo de texto más o menos estático mientras que el Área de Administración es dinámico y se parece más a un programa de software o aplicación web. Pero la dinámica navegador-servidor web es la misma.
Simplificándolo mucho: tu navegador tiene una dirección URL en la barra de direcciones, con eso lanza una petición HTTP a los servidores de nombres que saben encontrar a los servidores web mediante URLs. Los servidores de nombres hacen de intermediarios. Reenvían la petición al servidor web, éste recibe la petición, la pasa por un software como WordPress y responde al navegador original con código HTML, JS, CSS, imágenes, datos, etc. El navegador entonces carga todos esos datos, los convierte en un documento web y te lo muestra.
Los servidores web suelen parecer supercomputadores que ocupan habitaciones enteras. Pero un sevidor web no es más que un ordenador que tiene instalado software que le permite gestionar esas peticiones HTTP. Podría ser tu propio PC o portátil. Necesitarías instalar un servidor HTTP es decir, un programa que es el primero en recibir las peticiones. Apache, Nginx o Microsoft IIS son los más usados. Para montrar una página como ésta también tendrías que instalar un framework web como WordPress.
¿Y es que eso no puede hacerlo otro?
Sí y acabas de descubrir para qué sirve la nube. La nube son los backend que han montado otros. Por ejemplo, Google o Amazon ofrecen backends que puedes contratar, a esto se llama BaaS (backend as a service).
Para complicar más la cosa, existen varias tendencias en el desarrollo web moderno que trasladan al navegador de tu ordenador o móvil muchas de las cosas que tradicionalmente hacía el backend. Por ejemplo, el enrutamiento. Para pasar de un artículo a otro al hacer clic en un enlace antes hacía falta una llamada al servidor web y esperar su respuesta. Ahora una web SPA (Single-Page Application) se encarga, desde tu propio navegador, de borrar todo el contenido, cargar los datos, mostrar el artículo nuevo y finalmente de cambiar la URL en la barra de direcciones del navegador.
¿Qué significa que sea tu navegador el que hace ese trabajo en vez de hacerlo el servidor web? Pues tiene ventajas e inconvenientes. Aunque la tendencia actual es a intentar equilibrar un poco más la balanza entre servidor y navegador con el uso de técnicas de SSR (Server-Side Rendering). Esto ha sido así después de algunos años en los que la moda ha sido que lo hiciera prácticamente todo el navegador del usuario. Sí, el tuyo, pero no te preocupes, no es algo que vayas a notar en la factura de la luz.
¿Suena a que los desarrolladores web nos hemos vuelto todos locos? Es muy posible, pero te recuerdo que la Web es lo mejor que le ha pasado a la informática desde la invención del botón de resetear. Soluciona el 90% de los cuelgues de los PC y el 100% de los problemas de los routers.