En pocas palabras, es una aplicación que incluye desde el front-end hasta el back-end y puede ser: un “cliente” front-end (un sitio web), y un “servidor” back-end (servidor).
Aplicación Fullstack
Estamos hablando de construir una aplicación que combine esas dos partes en un todo coherente. La mayoría del desarrollo de aplicaciones está basado en la web (donde “web” no tiene que significar algo disponible en la Internet pública, sino algo construido con tecnologías web como HTML, JavaScript y CSS).
Para hacer esto, se puede hacer de muchas maneras, pero hoy vamos a hablar de algunas de las opciones.
Herramientas para desarrollar una aplicación Fullstack
Lo primero es decidir si el desarrollo será ejecutado como microservicios o en modo monolítico
Una vez decidido lo anterior deberemos tomar varias elecciones sobre como ejecutar el desarrollo y llevar a cabo la implementación del proyecto.
Podemos usar React, que es una de las bibliotecas más populares para construir clientes hoy en día.
Node.js, que es una opción popular para el desarrollo de back-end, sin necesidad de tener profundos conocimientos de servidores. Pero un buen desarrollador Fullstack domina la instalación y el mejor uso de servidores, bases de datos y servicios en el Cloud.
TypeScript, un lenguaje que mejora JavaScript, nos ayuda a mejorar nuestra codificación en ambos lados. Hay que asegurarse que el código es seguro y resistente a posibles ataques.
Podemos usar varias herramientas que se relacionan con todo esto, por ejemplo, Webpack. Tendremos que conocer algunas estrategias para conectar el cliente al servidor, incluyendo REST y WebSockets.
También, tendremos que saber empaquetar aplicaciones usando el popular Docker.
No hay que olvidar que todo proyecto hay que documentar bien todo el código, y conocer herramientas populares como por ejemplo Github.
Todo esto, deberá gestionarse de alguna manera, especialmente cuando varios programadores trabajan en el mismo proyecto; para ello seguramente hayamos utilizado la metodología SCRUM.
En definitiva, un desarrollador Fullstack conoce y sabe desenvolverse con todo lo que implica un buen desarrollo web.