¿A qué se refiere ‘stack tecnológico’ en la industria de la informática / software?

El software rara vez se escribe en el vacío: la mayoría de las veces, se compone de un montón de partes existentes. La pila de software que alguien está usando es el conjunto central de piezas que usaron para ensamblar su producto.

He visto el término con mayor frecuencia en el desarrollo web . Allí, generalmente involucra el sistema operativo en el servidor (es decir, Linux), el servidor web real que se está utilizando (es decir, Apache), la base de datos (es decir, MySQL) y el lenguaje del lado del servidor (es decir, PHP). De hecho, esto constituye una de las pilas más conocidas: LAMP (paquete de software).

En estos días, es probable que los desarrolladores web también incluyan las bibliotecas de JavaScript que están usando como parte de la pila también. Estos pueden incluir cosas como Angular o Knockout.

Por supuesto, las pilas de tecnología también aparecen en otras áreas. Por ejemplo, para un sistema integrado (como el controlador de un robot), la pila puede incluir el chip , el sistema operativo integrado y el lenguaje utilizado para escribir el código de control.

En general, la forma principal en que cambian las pilas es a través de la composición: todavía tendrán más o menos el mismo tipo de componentes, solo los detalles cambiarán. Por ejemplo, Nginx se está volviendo más popular que Apache y PHP finalmente está cayendo en desgracia. Del mismo modo, Postgres está ganando sobre MySQL como la base de datos de elección. El mayor enfoque en las tecnologías JavaScript para el frontend también es relativamente nuevo.