¿Qué es?
Un stack tecnológico es un conjunto de servicios de software que se utilizan para el desarrollo de aplicaciones. Normalmente, un Stack está formada por lenguajes de programación, Frameworks, bibliotecas, herramientas de desarrollo y enfoques de programación.
Un stack tecnológico determina el tipo de aplicaciones que puede construir, el nivel de personalizaciones que puede realizar y los recursos que necesita para desarrollar su aplicación.
Por ejemplo, un stack de web suele tener el siguiente aspecto:
Stack de desarrollo.
En el desarrollo web, se utilizan tres conjuntos de habilidades comunes – front-end, back-end y full-stack – para describir el papel de los desarrolladores de software mientras elaboran un producto final. Cada vez son más los profesionales de la tecnología que optan por trabajar tanto con el front-end como con el back-end para aumentar su versatilidad y ampliar sus habilidades, convirtiéndose en desarrolladores full-stack.
Hay tres lenguajes básicos que conforman el desarrollo del front-end:
- HTML, la estructura de una página web que contiene contenidos como texto y medios de comunicación.
- CSS, el estilo de los elementos HTML que da lugar al diseño de una página web.
- JavaScript, el componente que controla la interacción en una página, como por ejemplo hacer que un campo «obligatorio» en un formulario de contacto se niegue a procesarse si no se rellena.
Se centra en los servidores, las aplicaciones y las bases de datos. Los desarrolladores construyen y mantienen la tecnología que alimenta esos tres componentes utilizando una multitud de lenguajes de programación, bibliotecas y otro software existente.
El desarrollo back-end puede incluir lenguajes de programación como Java y .NET, así como bases de datos y otras plataformas robustas como MySQL y Amazon AWS. En esencia, el desarrollo back-end se esfuerza por crear un producto final dinámico que requiere un servidor y una base de datos para enviar la información correcta en el momento adecuado.
Si los desarrolladores de software son «full-stack», se sienten cómodos trabajando con la tecnología back-end y front-end. Esto significa que tienen un conocimiento especializado de todas las etapas de desarrollo de software. Estos desarrolladores tienen las habilidades para trabajar con varios componentes de cada tipo de desarrollo, incluyendo bases de datos, HTML, JavaScript, CSS y más.
Ejemplos
En busca de la eficiencia.
Los sitios web se componen de muchas tecnologías diferentes, que a menudo pueden cambiar en función de las necesidades y de la evolución natural. Cuando los desarrolladores buscan mejorar un sitio web con nuevas características o incluso reducir los componentes tecnológicos a algo más eficiente; pueden mirar más allá de los Stacks de soluciones estándar en algo personalizado para adaptarse a sus necesidades específicas.