logo

Actualidad

Lidera la transformación de las organizaciones para convertirlas en digital ecosystems

Herramientas para convertirte en un programador Full Stack

04/02/2021
0 comentarios

El desarrollo web sigue siendo una de las salidas profesionales más demandadas dentro del mundo tecnológico. Muchas compañías prestan sus servicios a través de la web, por lo que la necesidad de ofrecer productos fiables, rápidos y robustos sigue siendo una prioridad en este sector.

Cada vez más, se demanda un perfil muy concreto en el mundo de desarrollo web: profesionales que tengan una visión integral y que puedan desempeñar tareas en todas las fases del ciclo de vida de un proyecto, desde la planificación e implementación del front-end o back-end hasta el despliegue.

Este perfil, que desde hace tiempo recibe el nombre de Full Stack Developer, requiere de un conocimiento de diversas tecnologías y herramientas que al inicio puede resultar difícil de abarcar sin una buena hoja de ruta.

En el post de hoy, Lucas Fernández, director del Máster en Full Stack Web Development y desarrollador e investigador en Telefónica, nos presenta las herramientas clave para convertirse en un Full Stack Developer. 

 

 

Herramientas Full Stack Web

Herramientas generales

  1. Lenguaje de programación: Javascript y Typescript

Vamos a comenzar con lo más esencial dentro del mundo del desarrollo: el lenguaje de programación. Es fundamental conocer cómo implementar los paradigmas más importantes de programación para poder aplicarlos correctamente a nuestro desarrollo, con el lenguaje que requiera la tarea que estemos desempeñando.

No hay un solo lenguaje esencial, cada uno es popular en ciertas áreas o para tareas específicas, pero ya que nos estamos centrando en el desarrollo web, el mejor lenguaje de programación con el que empezar es Javascript. Ya no solo porque es esencial para desarrollar el front-end, sino por su versatilidad ya que  se puede usar en el desarrollo de servicios web, funciones anónimas en la nube, programación de aplicaciones móviles, Inteligencia Artificial…

Es por ello que Javascript es un buen punto de partida para un programador Full Stack, debido a que puede servir como base para todas las tecnologías necesarias en un stack tecnológico inicial.

Por otro lado, también es interesante mencionar Typescript, un lenguaje que encapsula Javascript y le añade tipado estricto, haciendo más fácil detectar errores en la fase de desarrollo. Este lenguaje se ha vuelto cada vez más popular y obligatorio en algunas herramientas y empresas.

Herramientas Full Stack Web - Java Script             Herramientas Full Stack Web - Typescript

  1. Control de versiones: Github

Todo proyecto necesita una buena herramienta de control de versiones para garantizar la coordinación en la fase de desarrollo. Esto se vuelve más vital si en el proyecto participan múltiples personas. Git lleva siendo, durante mucho tiempo, la herramienta indiscutible de control de versiones y Github el mejor repositorio remoto basado en esta tecnología. A parte de esta funcionalidad, Github permite controlar errores, pull requests, automatizar acciones, añadir documentación, ver estadísticas y una infinidad más de características que le hacen una de las opciones más atractivas del mercado.

Herramientas Full Stack Web - Github

  1. Issue Tracking & Planning: Jira

En las diversas fases del Desarrollo de un proyecto es necesario aplicar ciertas prácticas orientadas a la gestión y organización del mismo. Actualmente, el desarrollo Agile está presente en la mayoría de compañías modernas de software, y es la manera con la que se organizan una infinidad de proyectos web. Existen muchas herramientas de gestión, pero Jira sigue siendo una de las más completas para las diversas vertientes (SCRUM, Kanban…), pudiendo organizar nuestro proyecto de muy variadas maneras. Es cierto que al tener tantas opciones suele ser difícil de configurar al inicio, pero invirtiendo un poco de tiempo a conocer la herramienta puede dar grandes resultados a largo plazo.

Herramientas Full Stack Web - Jira

Herramientas Front-End

  1. Estilo: SASS / Styled Component

HTML, CSS y Javascript son los pilares básicos del desarrollo web. HTML aporta la estructura básica de la página, CSS controla la disposición, el estilo y formato, mientras que Javascript permite controlar el comportamiento de los elementos. Centrándonos en CSS, desde hace años, es esencial contar con extensiones como SASS, que aporta conceptos tan interesantes como variables, anidamiento o herencia. En framworks Javascript modernos se ha extendido el uso de Styled Components, una vuelta de tuerca al concepto anterior aplicado al desarrollo orientado a componentes.

Herramientas Full Stack Web - Sass               Herramientas Full Stack Web - Styled Components

  1. Frameworks orientados a componentes: React

La Arquitectura Orientada a Componentes es uno de los est

ándares modernos del desarrollo web. Ser capaz de reutilizar estructuras de código, a lo largo de un proyecto, puede reducir la complejidad y extensión del mismo. Es por esto que, en la última década, han aparecido múltiples proyectos como React, Angular o Vue, que aplican conceptos similares con aproximaciones diferentes. En este caso nos vamos a centrar en React, ya que es poco complejo, ligero, rápido y cuenta con una gran popularidad y adopción. React es una librería Javascript declarativa, ya que permite diseñar vistas para cada estado de la aplicación web. Está basada en componentes, permitiendo crear estructuras encapsuladas con sus propios estados y orientadas a diferentes entornos, ya que puede ser renderizada en el navegador, en el servidor mediante Node o en aplicaciones móviles gracias a React Native.

Herramientas Full Stack Web - React

Herramientas Back-End

  1. Servidores Web: Express & Nodejs

Como hemos comentado antes, hay muchos stacks que se pueden aplicar a un proyecto, es muy común escuchar desarrollos basados en LAMP, LEMP, MEAN, MERN, Django, Rails, entre otros; también hemos mencionado que Javascript puede usarse para desarrollar servicios web. Esto es posible gracias a node, un runtime asíncrono que permite diseñar aplicaciones escalables mediante Javascript. Express es un framework web basado en Node.js con el que podemos crear servicios web de forma ligera y sencilla. Al final, un servicio web permite conectarse con tu aplicación y proveer de funcionalidades como conexión a bases de datos, procesamiento de información o control de acceso. Todo esto es esencial si queremos tener una aplicación web compleja e interactiva.

Herramientas Full Stack Web - Node y Express

 

  1. Bases de Datos No Relacionales: MongoDB

Las bases de datos permiten almacenar información para que persista el ciclo de vida del uso de la aplicación. El mundo de las bases de datos es muy amplio, existiendo muchas tecnologías e implementaciones que hacen que sea complejo decidir qué usar en cada proyecto. En una visión muy general, una de las grandes diferencias es cómo se gestiona la relación de la información, categorizando las bases de datos entre Relacionales, menos flexibles pero más óptimas, y las No Relacionales, que almacenan los datos sin relaciones, siendo así más flexibles pero más difíciles de optimizar. En este caso es importante analizar muy bien la estructura de los datos antes de elegir que tecnología utilizar, pero si lo que buscamos es flexibilidad, MongoDB es una de las mejores alternativas. Esta base de datos almacena la información en documentos y tiene ciertas características muy atractivas como la alta flexibilidad, capacidad para distribuirse entre múltiples “hosts”, es rápida y altamente escalable y es muy sencilla de configurar. Es por ello que es una buena primera aproximación para incluir en el stack tecnológico.

Herramientas Full Stack Web - Mongo

 

Como se puede observar, hay una gran cantidad de tecnologías que conforman el stack de un proyecto web. Hemos hecho un repaso general a los conceptos más fundamentales, pero todavía hay mucho más. El desarrollo de un producto implica de otras actividades que, no siendo obligatorias para su puesta en marcha, son esenciales para asegurar su correcto funcionamiento. Algunas de estas tareas son el desarrollo orientado al testing (TDD), donde el código generado debe estar bien cubierto por pruebas unitarias, de integración o de sistema. Jest es una librería que nos sirve para la parte front (React) como el back (Express). Por otro lado, tenemos conceptos como contenedores con Docker, orquestación con Kubernetes, integración continua con Github Actions o aprovisionamiento con Ansible, más orientados al área de DevOps, pero importantes para un desarrollador Full Stack.

Comentarios
Deja un comentario
Nombre y Apellidos
Email

Entradas relacionadas

¿Cómo desarrollar una aplicación web?

23/09/2021
Vivimos un momento claro en cuanto al auge tecnológico. La digitalización se ha convertido en parte de nuestras vidas sin apenas darnos cuenta. En el post de hoy, vemos los pasos que hay que seguir para desarrollar una aplicación web para ofrecer productos rápidos y fiables.

© Three Points The School for Digital Business. Planeta Formación y Universidades. Todos los derechos reservados.
Por cualquier consulta, escríbanos a info@threepoints.com

© Three Points The School for Digital Business. Planeta Formación y Universidades. Todos los derechos reservados.
Por cualquier consulta, escríbanos a info@threepoints.com