En diseño web, ¿qué significa el término ‘apilar’?

Tiene algunos significados, pero casi definitivamente estás hablando de una pila como en un conjunto de herramientas. Hay varios niveles en un sitio: el estilo, el front-end, el back-end, el servidor, la base de datos. El conjunto de marcos o programas que usa para ejecutar cada nivel se denominan colectivamente ‘la pila’; por ejemplo, escribir un sitio en lenguaje PHP contra una base de datos MySQL alojada por Apache que se ejecuta en Linux se llama comúnmente LAMP (Linux-Apache -MySQL-PHP), mientras que Angular on Express on Node on Mongo se llama MEAN stack.

Un artista que usa pinturas al óleo sobre un lienzo estirado basado en un boceto a lápiz podría decir que está usando la pila de grafito, óleo y lienzo.

Alguien que trabaja únicamente en diseño y lógica de front-end se llama dev de front-end; alguien que trabaja únicamente en lógica de back-end se llama dev de back-end; alguien que ejecuta bases de datos se llama administrador de la base de datos. Alguien que maneja todas estas tareas se conoce como un desarrollador ‘full-stack’.

Como mucha terminología en el desarrollo de software, “stack” está sobrecargado. A menudo, cuando ve una referencia a una pila, es un objeto que contrasta con una cola, donde uno sigue la lógica Última entrada / Primera salida, y el otro, Última entrada / Última salida. En una clase sobre objetos de datos, puede observar varias implementaciones diferentes de estos.

Pero ese probablemente no sea el uso que se requiere aquí. Una pila también es un esquema de uso de memoria interna que a menudo se usa para llamadas a funciones y otros marcos de referencia, en lugar de un montón, que a menudo se usa para un uso de memoria más ad hoc. Cuando las personas mencionan un seguimiento de pila o un volcado de almacenamiento dinámico, esto se refiere al uso de memoria interna.

Pero probablemente tampoco sea eso. Cuando las personas se refieren a una “pila de software” o un “desarrollador de pila completa”, esto es una referencia a un enfoque de arquitectura de software que ve las capas de software (o niveles) como una pila de panqueques. Si trabaja en una aplicación cliente-servidor y realiza cambios en la base de datos de back-end, la capa de mantenimiento y el cliente web, está trabajando en la “pila completa”.

Algunos marcos modernos como Ruby on Rails, Google Web Toolkit o MeteorJS hacen que trabajar con múltiples pilas sea más fácil y más transparente, pero siempre puede agregar un panqueque adicional a la pila. Para una alternativa a una arquitectura de pila completa, considere la Arquitectura orientada a servicios, que trata los componentes como servicios separados. Sin embargo, los componentes individuales probablemente todavía tienen varias capas.