Uno de los perfiles más demandados en la industria del desarrollo del software es el perfil del Desarrollador Web Full Stack, un perfil que ha evolucionado en los últimos años desde que surgieron los WebMaster a mediados de los 90, aquellos que se encargaban del mantenimiento y/o programación de un sitio web, desde la codificación del diseño hasta la administración de las bases de datos.
Un Desarrollador Web Full Stack es el encargado de crear y realizar mantenimiento a una aplicación web, aplicaciones que van mucho más allá de una simple página web de uso informativo.
¿Qué es una aplicación web?
La aplicación web realiza una actividad específica según el negocio o industria en el que se implemente: una tienda en línea, un sistema de gestión de clientes (CRM), un sistema de inventarios, un sistema contable, una red social, un canal de películas y videos en línea, entre otros.
Las aplicaciones web no necesitan instalarse en los dispositivos, sólo acceder a ellas través de internet y un explorador web, entre las más comunes y famosas encontramos las redes sociales Facebook, Instagram, YouTube, los gestores de correo: Gmail, Outlook, herramientas ofimáticas como la suite de Google Drive y Microsoft Office en la nube, e incluso aplicaciones como Netflix que se puede acceder desde prácticamente cualquier terminal: televisor, portátil o móvil.
Este tipo de aplicaciones se componen del Frontend -lo que ve el usuario- y del Backend -lo que está detrás- para su funcionamiento específico: manejo de base de datos, cálculo de operaciones, creación de documentos, realización de transacciones, entre otros.
¿Qué significa Frontend y Backend?
Estos dos términos son las especialidades que los desarrolladores eligen de acuerdo con la complejidad de las aplicaciones web.
El Frontend se debe a todos los procesos que se ejecutan en la máquina del cliente (portátil, móvil, tv) y es toda la visual de la aplicación: menús, formularios, imágenes, vídeos, tablas, botones, etc. Para ello los programadores Frontend usan diferentes tipos de tecnologías, las más básicas que se manejan son HTML, CSS y JavaScript, luego puede ampliar sus conocimientos a herramientas más sofisticadas como librerías y frameworks; Bootstrap, Angular, React, entre otros.
El Backend corresponde a los procesos que se ejecutan del lado del servidor, esto es, las máquinas de cómputo en grandes centros de datos que alojan las aplicaciones web y que almacenan la información que los usuarios generan cuando usan dichas aplicaciones, es todo aquello que ocurre tras bambalinas, existen gran variedad de stacks (conjuntos o pilas de tecnologías) que se usan de este lado de la aplicación, las más famosas se agrupan en acrónimos como:
LAMP (Linux, Apache, MySQL, PHP) el clásico.
Es un stack en que están construidos aplicaciones web como WordPress, un gestor de contenidos (CMS) que tiene presencia en más del 35% de las páginas web a nivel mundial, aplicaciones como Moodle o incluso el mismo Facebook tiene componentes en PHP. En principio estas tecnologías fueron realizadas por diferentes proyectos de forma separada, pero se fueron integrando y complementando, veamos que significan sus componentes:
- Linux, sistema operativo
- Apache, servidor Web
- MySQL, base de datos Relacional (SQL)
- PHP, lenguaje de la aplicación en el Backend.
Hay algunas variaciones en este Stack que algunos han usado según sus preferencias y recursos:
- WAMP (Sistema Operativo Windows)
- MAMP (Sistema Operativo Mac-OS X)
- XAMPP (Puedes elegir cualquier sistema operativo, y elegir entre PHP y Perl para el lenguaje de programación).
- LAPP (Puedes cambiar la base de datos por PostgreSQL, para proyectos empresariales de mayor magnitud).
WISA (Windows Server, Internet Information Services (ISS), SQL Server, ASP.NET) el stack de Microsoft.
Fue pensado desde un principio por este gigante informático, a diferencia de los demás Stack es un software con licencia propietaria y diseñado para integrar cada uno de sus componentes desde el principio de su concepción, permitiendo tener mayor robustez en las aplicaciones. WISA se compone de:
- Windows Server, sistema operativo
- Internet Information Service (ISS), software de servidor Web
- SQL Server, base de datos Relacional (SQL)
- ASP.NET, biblioteca de lenguajes de programación que pueden ser Visual C# o Visual Basic.NET
MEAN – MERN (MongoDB, Express, Angular o React, NodeJS)
Este stack de código abierto que ha ido creciendo con mayor rapidez en los últimos años, aparece con un nuevo concepto diferente al del Stack clásico, donde el lenguaje de programación se unifica tanto del lado del cliente como del servidor (en JavaScript), integrando el Frontend con tecnologías como Angular (de Google) y React (de Facebook) con el backend con tecnologías como MongoDB (Base datos no relacional) con Express y Node.js (Entorno de desarrollo bajo el lenguaje JavaScript). Las aplicaciones más relevantes en este Stack son Netflix, Linkedin, Walmart, entre otros.
- Mongo DB, base de datos No Relacional (No SQL) usada por aplicaciones que requieren mayor escalabilidad que las tradicionales SQL.
- Express.js, es el framework para aplicaciones web desde el servidor.
- Angular.js y React.js, son los framework para el desarrollo del Frontend.
- Node.js, es una plataforma basada en el entorno de JavaScript, que puede ejecutarse en cualquier sistema operativo, por comandos de consola.
Existen muchos más Stack en el mundo de la programación web que no describiremos en este artículo, entre ellos están Ruby Stack, Django Stack con Python y Java+Spring.
¿Qué hace un Desarrollador Web Full Stack?
FullStack = Frontend + Backend
El Desarrollador Web Full Stack, tiene la capacidad de trabajar en ambos lados de la aplicación, es una evolución del tradicional Webmaster, por esa razón es uno de los perfiles más demandados por las empresas, por ser un todoterreno que logre plasmar la idea de un diseñador gráfico en una vista del usuario y gestionar todo aquello que hace la aplicación detrás, de manera funcional.
¿Dónde puedo estudiar para ser un Desarrollador Web Full Stack?
La mejor forma de iniciar es adquiriendo las habilidades y los conocimientos que más requieren las empresas. Estas solicitan desarrolladores con conocimientos muy actualizados -incluso sin cartones académicos- y muy bien remunerados.
En nuestra Academia 4.0 Pygmalion Tech, ofrecemos diferentes cursos para formarse como un desarrollador web Full Stack:
- Desarrollo Web desde Cero: HTML, CSS, JavaScript. En este curso aprende a desarrollar páginas web estáticas dominando los conceptos básicos de estos 3 lenguajes.
- Curso Desarrollo Web Frontend, profundiza en las tecnologías del lado del cliente: Bootstrap, Angular, React y otras tecnologías necesarias en el desarrollo como GIT y metodologías ágiles como SCRUM.
- Curso Desarrollo Web Backend, este curso basado principalmente en el Stack MEAN-MERN, te permitirá lograr un nivel para desarrollar aplicaciones web en su totalidad, usando tecnologías como Node.js, Express, MongoDB, SQL, PHP, Laravel, WordPress Avanzado.