Diferencias entre front end y back end
En el desarrollo de software a menudo se usan los términos de front end y back end pero, ¿a qué hacemos referencia cuando los utilizamos?,¿para qué sirven? Y, ¿Qué herramientas utilizan los desarrolladores? Intentaré responder de manera breve y concisa éstas y otras cuestiones relacionadas con ambos términos.
Breves pinceladas sobre el front end y el back end
El front end es la parte del sitio web que interactúa con los usuarios, lo que podemos ver, oír y clicar (de momento no podemos oler ni saborear, pero no lo descartemos con el avance de la realidad aumentada). El back end son los procesos de gestión de los datos y no se encuentran visibles al usuario.
En el ámbito profesional existe tanto la especialización en front end , en back end o ambas, lo que se conoce como full stack.
Para entenderlo un poco mejor voy a explicar que tipo herramientas se suelen utilizar para ambos, muchas de estas herramientas sirven tanto para el front end como para el back end, estamos en constante evolución, por lo que no quiere decir que no existan otras formas de hacer un desarrollo, o la experimentación.
Aunque se tiende a estandarizar, ya que hay ciertas herramientas que funcionan mejor que otras según el ambiente de desarrollo, o porque como en el caso de ECMAScript (basado en JavaScript) hay grandes corporaciones interesadas en estandarizar ciertas herramientas para mejorar la compatibilidad entre sistemas.
Front end
Es la parte de la programación que implementa la capa visible, con la que el usuario interactúa, esta capa se conoce con varios nombres: Interfaz gráfica, UI (User interface) o capa de presentación.
El código dice cómo se va a mostrar el contenido, el tamaño, el color, la posición, entre otras. En esta capa encontramos: menús de navegación, textos, imágenes, videos, botones, etc.
En el desarrollo front end se debe tener en cuenta la parte artística, de usabilidad (característica de un sistema para que su uso sea intuitivo, sencillo y rápido) y de accesibilidad (diseñado para ser accesible a personas con discapacidad). El diseño gráfico y las mecánicas de uso son parte fundamental para proporcionar un trabajo de calidad y una experiencia de usuario satisfactoria.
Si te interesa eso de la usabilidad y la accesibilidad, no te pierdas los fundamentos del diseño UX/UI, donde te lo explicamos en profundidad
Generalmente se utilizan herramientas como:
- Lenguajes de programación como HTML, CSS y JavaScript, que son la trinidad del front end en el desarrollo web. También tenemos otros lenguajes como C++ para desarrollo de videojuegos entre otras funciones. Para aplicaciones en Smartphones se suelen utilizar Java para Android y Swift para iOS.
- Librerías para facilitar la creación y la reutilización del código, como ReactJS, jQuery, etc.
- Frameworks con el objetivo de agilizar los procesos de creación de aplicaciones, como Angular, Boostrap, Materialize, Ionic, QT, etc.
Back end
Es la parte de la programación que se encarga de la lógica de funcionamiento, entre otras funciones procesa los datos y los devuelve para que sean visualizados a través del front end, en la mayoría de los casos las acciones que realiza el back end se encuentran ocultas a la vista del usuario final.
El código se ejecuta del lado del servidor, con el cual tenemos acceso a las bases de datos, los archivos y otros recursos. Se debe ser meticuloso y ordenado ya que un pequeño despiste puede hacer que no funcione o haya fallos en la seguridad del software.
En el desarrollo back end se debe tener en cuenta la escalabilidad, la seguridad y la eficiencia en la gestión los datos.
Se hace uso de los servidores, las bases de datos o las API. Por nombrar algunas herramientas que se utilizan serían:
- Lenguajes de programación como Java, SQL, PHP, Python, etc.
- Frameworks para facilitar el desarrollo de aplicaciones, como Django, Symfony, Laravel, Hibernate, Flask, etc.
- Bases de datos para recopilar y organizar información, como Microsoft SQL Server, Oracle, Teradata, etc.
En resumen, el front end y el back end son conceptos que se utilizan para hacer referencia a la separación entre la capa de presentación y la capa de acceso a los datos dentro del mundo del diseño web, ambos trabajan de la mano en el funcionamiento del software.
Espero que el frontend y el backend ya no te parezcan extraños y comprendas algo mejor las diferencias entre ambos. ¿Quién sabe? Quizá está leyendo esto un futuro desarrollador backend o una futura experta en maquetación web…