Desarrollador Front End

Continuamos con nuestra serie de publicaciones centradas en presentar los distintos roles de TI y desarrollo de software. En nuestra entrada anterior, presentamos las características generales y tecnologías más utilizadas del perfil de Desarrollador Fullstack / Fullstack Developer. El día de hoy, conoceremos con mayor detalle una de las dos partes que conforman este perfil: El Front End

Cuando ingresamos a una página web, nos encontramos de inicio con una presentación o interfaz muy variada: Menús, secciones para dejar un comentario, publicaciones más recientes del sitio Web, imágenes, videos, animaciones y un largo etcétera. Todo esto es con lo que nosotros como usuarios de la página interactuamos y vemos. El Front End es la parte del software que interactúa con los usuarios y recibe las entradas del mismo, para poder enviar las requisiciones necesarias al código y poder mostrar una respuesta adecuada al usuario. Pongamos un ejemplo: Cuando ingresas a nuestro sitio Web http://www.taltere.com, puedes observar distintos elementos como lo son menús, diversas imágenes y textos que indican las entradas más recientes de la página, una barra de búsqueda o un apartado con los datos de contacto de la empresa. Si haces clic en el apartado “Bolsa de Trabajo”, el Front End hace una requisición al Back End para que se muestre la información que el usuario está buscando (en este caso, la bolsa de trabajo). El Front End recibe una respuesta de parte del Back End para finalmente mostrar al usuario la lista de vacantes que tenemos actualmente.

Esta es de manera resumida cómo funciona una página web, y en qué aspectos se encarga el Front End. Para poder presentar una interfaz adecuada y agradable para los cibernautas que llegan a nuestra página, el desarrollador Front End debe conocer y dominar ciertas tecnologías y Frameworks, así como tener conocimiento sobre diseño web para poder adecuar la funcionalidad de los diversos elementos del sitio a las requisiciones del Diseñador Web.
El desarrollador Front End debe dominar tres tecnologías principales para crear la interfaz: HTML, CSS y JavaScript.

HTML
El lenguaje de Marcado de Hipertexto (HTML por sus siglas en inglés) es el elemento básico para la estructura de una página web. Determina el contenido de una página, pero no su funcionalidad.

CSS
Lenguaje de estilo que es utilizado para codificar y dar formato a la estructura de HTML. Es el lenguaje encargado de proporcionar color, tipografía, imágenes, tamaño, etc. Al código dado por HTML.

JavaScript
Lenguaje que en diseño web nos ayuda a programar la funcionalidad e interacción con el usuario.
Aunque estas tres tecnologías son la base principal del Front End, existen muchos frameworks o recursos de los cuales se puede echar mano para crear una interfaz de usuario más completa. Algunos de los frameworks más utilizados y útiles son los siguientes:

-Bootstrap
Es una biblioteca de recursos de diseño como plantillas de tipografía, cuadros, botones, menús, etcétera cuyo código es abierto y basado en HTML, CSS y extensiones de JavaScript.

-Angular
Framework de código abierto mantenido por Google utilizado para crear aplicaciones web de una sola página o SPA (Single – Page Application), estás páginas se caracterizan por cargar de una sola vez los códigos de HTML, CSS y JavaScript, por lo que la página no tiene que cargar los códigos cada vez que se haga una interacción.

-React
La biblioteca React es un framework de JavaScript mantenido por Facebook que se centra en facilitar el desarrollo de SPA a partir de la creación de interfaces de usuario dinámicas y ágiles, -gracias a la virtualización del DOM.

-Redux
Patrón de arquitectura que propone un flujo sencillo de la información y mantener el estado de la aplicación predecible. Fue pensado originalmente para React, pero actualmente es capaz de adaptarse a otros frameworks o librerías del Front End.

Estos son sólo algunos ejemplos de herramientas afines al Front End que el desarrollador puede utilizar para crear interfaces de usuario funcionales. Aunque existan diferencias claras entre el client-side y el server-side, un desarrollador Front End debe tener conocimientos sobre frameworks y tecnologías propias del Back End, ya que están siempre relacionadas las unas con las otras.
Esperamos haber logrado definir lo que significa ser un Desarrollador Front End y qué tecnologías utiliza. En nuestra siguiente publicación nos enfocaremos en los desarrolladores Back End.