Si alguna vez has estado en la industria de la tecnología o cerca de ella, seguramente has escuchado infinidad de términos que se usan dentro de ella, sin embargo hay términos que son más comunes unos que otros, y no son tan complejos de entender, dos de ellos son el frontend y el backend los cuales describiremos a continuación, pero primero definamos en donde se usan estas terminologías.
¿Qué es el desarrollo web?
Como su mismo nombre lo indica, el desarrollo web es el área de programación que se relaciona comúnmente con las paginas web y las aplicaciones. Es decir es a todas las paginas que accedes a través de navegadores web (Chrome, Safari o Firefox).
Frontend vs. backend
Dentro del desarrollo web existen dos principales áreas, las cuales son: frontend y backend. A continuación vemos cuales son las diferencias clave entre ellas.
Desarrollo frontend
El desarrollo frontend es el que se centra en la creación de interfaces para las páginas y aplicaciones web. Siendo una colección de elementos dentro de la pagina web, con los que el usuario puede ver e interactuar.
Dentro del frontend se incluyen: botones, listas, tablas, entradas, formularios y más elementos. En ocasiones este termino suele confundirse con los diseñadores web o gráficos; debido a que estos roles son los responsables de la presencia y presentación general de la página web o aplicación.
Pero lo que realmente hacen los desarrolladores frontend es transformar las ideas de los diseñadores en el software de trabajo.
Tecnologías utilizadas en el frontend
Hoy en día existen un sin fin de tecnologías utilizadas en el frontend a continuación escribo algunas de ellas:
HTML (HyperText Markup Language o lenguaje de etiquetas de hipertexto)
CSS ( Cascading Style Sheets u hojas de estilo en cascada)
JS (JavaScript)
React (JS framework)
Angular (JS framework)
Vue (JS framework)
React Native
TypeScript
RWD (responsive web design o diseño web resposivo)
Estas son solo algunas de las tecnologías utilizadas en el área del frontend y ademas sigue evolucionando constantemente cada una de ellas. Debido a esta gran lista de tecnologías relacionadas con el trabajo frontend, es prácticamente imposible aprender todas, pero un desarrollador con experiencia, saber que elegir selectivamente la herramienta adecuada y reunir rápidamente los conocimientos necesarios cuando sea necesario.
Responsabilidades de un desarrollador frontend
Los alcances de responsabilidades de un desarrollador frontend pueden ser ligeramente diferentes entre cada empresa, pero la siguiente lista podría darle una idea de los desafíos que enfrentan:
Trabajo mano a mano con los diseñadores de experiencia de usuario, a fin de lograr la mejor experiencia de usuario posible
Creación de la estructura y estilos basados en diseños proporcionados por los diseñadores
Desarrollo de lógica de la interfaz basados en frameworks frontend (JS, React, Angula, etc.)
Integración del backend con los desarrolladores backend
Pruebas en diferentes dispositivos y navegadores
Trabajo mano a mano con el cliente a fin de comprender procesos y requisitos
Mejora en el rendimiento de la aplicación
Desarrollo backend
Como lo mencionamos en párrafos anteriores, la interfaz se relaciona con todo lo que el usuario ve en el sitio web. Mientras que el backend es todo lo contrario, ya que realmente no se puede ver los resultados en la interfaz. Debido a que el código backed se ejecuta en el lado del servidor en lugar del navegador.
El usuario interactúa con el backend con mucha frecuencia como con el frontend, pero simplemente no se puede ver. Por lo tanto cuando realizas una interacción mediante la interfaz de usuario, esta se activa inmediatamente, dado que la interfaz y el backend trabajan juntos y la combinación de estas nos permite crear una aplicaciones útiles.
Un ejemplo de esto seria cuando inicias sesión en algún sitio web, cuando ingresas tus datos dentro de un formulario (Frontend), el backend se encarga de verificar que tu usuario y contraseña existan dentro de la base de datos.
Tecnologías utilizadas en el backend
Las tecnologías utilizadas en el backend difieren según el proyecto en particular y sus necesidades. A continuación puedes encontrar algunos ejemplos de tecnologías utilizadas por los desarrolladores backend.
Python
Java
PHP
Ruby
SQL
MySQL
Mongo
Apache
Nginx
AWS
Responsabilidades de un desarrollador backend
Como lo mencionamos en las responsabilidades de los desarrolladores frontend, las responsabilidades de los desarrolladores backend depende en gran medida de la empresa y del proyecto, pero generalmente un desarrollador backend con bastante frecuencia se encarga de:
Implementación de la lógica empresarial en el lado del servidor de la aplicación
Pruebas para garantizar las funcionalidades
Creación e implementación de APIS que se utilizan para comunicarse con el frontend y que son capaces de recibir solicitudes, procesar los datos y actualizar, crear, modificar y eliminar registros particulares en la base de datos
Gestión de entornos de alojamiento
Manejo de solicitudes de usuarios
Gestión de bases de datos
Cooperar con el equipo de frontend durante las integraciones
Desarrollo full stack
Existe una área de desarrollo que vale la pena mencionar. Se llama full stack y esta es la combinación de ambos tipos de desarrollo (frontend y backend). Un desarrollador full stack puede contribuir tanto a la interfaz visual como a las partes del servidor y la base de datos de la aplicación o página web.
Tecnologías utilizadas en el full stack
Un desarrollador full stack debería poder trabajar tanto con las tecnologías frontend como backend. Pero aquí existe un punto importante y es que para tener éxito como desarrollador full stack, se necesita tener algunos conocimientos en ambas áreas, pero al mismo tiempo, necesita tener suficiente habilidad y experiencia para llenar rápidamente el vacío de conocimiento siempre que sea necesario.
Se necesita saber como aprender rápidamente y priorizar las habilidades técnicas que son más importantes en tu situación actual.
Responsabilidades de un desarrollador full stack
Las responsabilidades completas de un desarrollador full stack no son diferentes a las ya mencionadas. La principal diferencia es que pueden trabajar de forma más independiente. Debido a que para una tarea puede tomar dos personas (frontend y backend) para cumplirla con éxito. O bien, la misma tarea puede ser realizada por un desarrollador full stack.
¿Frontend o Backend?
Esto dependerá de las habilidades y el gusto para cada desarrollador ya que si tienes cuidado con los detalles y si quieres trabajar en interfaces de usuario el frontend es para ti o tal vez estás más interesado en las bases de datos y cómo interactúan con los servidores entonces la mejor opción será el backend.
Conclusión
La programación frontend está estrictamente conectada con la interfaz de usuario (todo lo que ves cuando abres la página web o la aplicación web).
Mientras que por otro lado el backend está ubicado en el lado del servidor, y se ocupa de todas esas cosas que están sucediendo detrás de la interfaz de usuario.
Si bien es importante entender la diferencia, también es importante entender que una depende de la otra y a su vez trabajan en conjunto a fin de proporcionar aplicaciones útiles y agradables para el usuario.