¿Se pregunta en qué se diferencia un desarrollador de front-end de un desarrollador de back-end? A decir verdad, no es usted la única persona que se hace esta pregunta. Probablemente estos términos se mezclen en su mente con “integrador web” o “webmaster”, “programador”, “diseñador web”…
Las funciones y los perfiles laborales de la producción web han evolucionado en los últimos años, por lo que a veces es difícil entender qué hace cada uno en la práctica.
Identificaremos y diferenciaremos los roles de desarrollador Front-End y Back-End que son los dos perfiles típicos que se encuentran en la mayoría de las agencias web hoy en día.
El desarrollador de Front-End
Cuando hablamos de “Front-End”, nos referimos a los elementos del sitio que vemos en la pantalla y con los que podemos interactuar. Estos elementos se componen de HTML, CSS y Javascript, controlados por el navegador del usuario.
Los ámbitos de competencia del Front-End pueden dividirse en dos:
- Diseño
- Desarrollo de HTML, CSS y Javascript
El diseño lo realiza tradicionalmente un diseñador web que elabora modelos gráficos con Photoshop o Sketch. Sin embargo, cada vez más diseñadores web han roto la barrera y pueden codificar en HTML y CSS. En algunos casos también son capaces de producir Javascript.
Antes, cuando hablábamos de un desarrollador, nos referíamos a un desarrollador Back-End. Ahora nos damos cuenta de que algunos diseñadores web también tienen conocimientos de desarrollo.
El desarrollador Front-End es una persona que puede venir del mundo del diseño web y que ha reforzado sus conocimientos en desarrollo. También puede ser un desarrollador que haya optado por especializarse en tecnologías y lenguajes Front-End como :
- HTML
- CSS
- Javascript
- JQuery / React / Vue / Angular
JQuery es un framework de Javascript, para simplificar es una librería de Javascript que permite codificar de forma más rápida y sencilla.
React es una librería de Javascript, una de las más populares del momento. Esta biblioteca se utiliza en particular para realizar aplicaciones de página única y para resolver problemas complejos de interacción/interfaz de usuario que jQuery no permite resolver fácilmente.
Vue o Vue.js es un framework de Javascript conocido por su facilidad de uso. Es un competidor directo de React. Estos dos gigantes del ecosistema de Javascript están empatados en términos de uso y popularidad.
Angular es también un framework Javascript iniciado por Google pero que ha perdido popularidad en los últimos años. Sin embargo, es tan potente como su competidor.
Hay muchas bibliotecas de Javascript más o menos complejas y adaptadas a diferentes usos. En cualquier caso, esto es ciertamente todo lo que un desarrollador de front-end debe dominar
Ahora, para que el sitio cobre vida y se complete el trabajo del desarrollador del Front-End, ¡le toca intervenir al desarrollador del Back-End!
El desarrollador de Back-End
El Back-End es un poco como la parte sumergida del iceberg. Es invisible para los visitantes pero representa una gran parte del desarrollo de un proyecto web. Sin ella, el sitio web sigue siendo un cascarón vacío.
Podemos dividir el Back-End en tres partes esenciales:
- Un servidor (o alojamiento web)
- Una aplicación (en este caso el sitio web)
- Una base de datos (donde se almacenan los datos de la aplicación)
El servidor es como un disco duro accesible las 24 horas del día, en el que se almacenan las páginas del sitio web.
Para poder almacenar sus contraseñas, sus preferencias, su cesta de la compra que ha introducido gracias a los elementos del Front-End, es necesario guardarlos en una base de datos. La base de datos es comparable a una gran tabla con columnas que contienen, por ejemplo, “nombre”, “nombre de pila”, “contraseña”, “compra actual”. Cuando te registras en un sitio, tu perfil se registra en esta tabla.
Para poder conservar, procesar, modificar estos datos y ofrecer información actualizada en un sitio web (como noticias, fichas de productos, imágenes, vídeos), el desarrollador de Back-End utilizará lenguajes de programación “dinámicos”.
Los lenguajes más utilizados son PHP, Ruby, Python y SQL. A menudo, para que el código sea más claro, fácilmente modificable y más fácil de mantener en equipo, el desarrollador trabaja con frameworks como Laravel o Symfony.
Por último, el desarrollador de Back-End también instala y configura el servidor que alojará el sitio en sí.
El caso de WordPress
WordPress es un sistema de gestión de contenidos (o CMS) que permite gestionar fácilmente el contenido de un sitio web sin necesidad de ser un experto en desarrollo back-end.
WordPress es un entorno PHP para sitios web, listo para usar y fácil de personalizar. El diseñador web que no tiene muchos conocimientos de codificación puede crear fácilmente un modelo gráfico en HTML, CSS o incluso Javascript e implementarlo rápidamente en WordPress. El sitio será entonces entregable al cliente siempre que las funcionalidades esperadas sigan siendo sencillas.
En este caso, podemos prescindir de un desarrollador de Back-End.
Conclusión:
El desarrollador del Front-End y del Back-End son dos perfiles que deben colaborar estrechamente. Esta colaboración es esencial para llevar a cabo un proyecto web en el mejor de los casos. Los aspectos visuales y ergonómicos deben pensarse al mismo tiempo que el aspecto Back-End del sitio web. Cada uno de estos aspectos tiene sus propias limitaciones y normas que hay que tener en cuenta antes de lanzarse a un proyecto.