
2021 Año de homenaje
al premio Nobel de medicina
Dr. César Milstein
Módulo 3 – Desarrollo Front End dinámico 6
La idea de esta abstracción es mantener separadas las diferentes partes de un
sistema web o software para tener un mejor control. En pocas palabras, el objetivo
es que el frontend recoja los datos y el backend los procese.
Estas dos capas que forman una aplicación web son independientes entre sí (no
comparten código), pero intercambian información. Esta división permite que el
acceso a las bases de datos solo se haga desde el backend y el usuario no tenga
acceso al código de la aplicación, mientras que la programación del lado del cliente
permite que el navegador pueda, por ejemplo, controlar dónde el usuario hace clic
o acceder a sus ficheros.
Con esta separación de entornos el usuario de una aplicación web lo que hace es,
por ejemplo, iniciar sesión escribiendo su usuario y contraseña en un formulario; a
continuación, los datos se envían y el backend toma esta información que viene
desde el HTML y busca las coincidencias de usuario en la base de datos con una
serie de procesos invisibles para el usuario. En este punto, el servidor mandaría un
mensaje al frontend dándole acceso (o no) a la aplicación.
Lenguajes Web Backend
Encontramos varios, por ejemplo, PHP, Python, Rails, Go, C#, Java, Node JS
(JavaScript) entre otros. Como vemos, mientras que para el frontend se
acostumbra a trabajar solo con tres lenguajes, en el backend hay unos cuantos
más. Por suerte, un desarrollador backend no necesita saberlos todos.
Quizás notaste que tenemos JavaScript tanto por el lado del cliente como por el
lado del servidor. JavaScript se creó originalmente como lenguaje para el frontend,
pero en los últimos años se ha creado su lugar dentro del backend con NodeJS, un
motor que interpreta JavaScript en el servidor sin necesidad de un navegador. Esto
no quiere decir que el JavaScript que tenemos en el cliente tenga alguna conexión
con el que se encuentra en el servidor: cada uno corre por su parte de manera
independiente. El JavaScript del cliente corre en el navegador y no tiene ningún
enlace ni ninguna conexión con el que hay en el servidor y no le interesa saber
cómo está montada la arquitectura del servidor ni cómo se conecta a la base de
datos.
Ahora se puede utilizar el mismo lenguaje en todos los contextos del desarrollo:
JavaScript en el cliente de escritorio (DOM), en el cliente móvil (Cordova, React
Native), en el servidor (Node.js) o en la BBDD (MongoDB). La posibilidad de
trabajar frontend y backend con un mismo lenguaje desde el punto de vista del
desarrollador es muy cómoda, especialmente para aquellos que trabajan ambos
mundos.
En cuanto a la tecnología, las herramientas que se utilizan en el backend son:
editores de código, compiladores, algunos depuradores para revisar errores y
seguridad, gestores de bases de datos entre otras cosas.