¿Qué diablos son las Web Stacks?

thaisDev
4 min readFeb 28, 2019

--

https://da-14.com/blog/how-to-choose-technology-stack-application-development

Nota : Esto es un resumen de la información que he sacado de los recursos que describo al final de este post.

Las Web Stacks son un conjunto de tecnologías que decidimos usar para crear una aplicación.

Este conjunto se divide en :

  • Sistema Operativo
  • Servidor Web
  • Base de datos
  • Lenguaje de Programación

Este “Stack Base” se puede completar con Frameworks, lenguajes de programación adicionales, servidores proxy, etc.

Los componentes de software de una Web Stack pueden combinarse de forma individual, por lo que existe un gran número de versiones, cada una para diferentes fines.

Consideraciones para escoger un Stack

  • Escalabilidad se basa en el crecimiento de la aplicación, como pueden ser el nº de usuarios , si es rápido y fácil añadir funcionalidades nuevas sin que se vaya todo al carajo, etc.

Existen 2 tipos :

  1. Escalabilidad Horizontal → A medida que la aplicación y usuarios crezcan meteremos más ordenadores. Este es el más utilizado.
  2. Escalabilidad Vertical → Consiste en que toda la aplicación está centralizada en un solo ordenador, de modo que, si la aplicación crece habrá que cambiar ese mismo ordenador o considerar mejorarlo en cuestiones de hardware.
  • Facilidad para el equipo de desarrolladores empezar a utilizar un tipo de tecnología u otro, basado en la experiencias y habilidades de cada uno.
  • Importancia de la Velocidad de la aplicación
  • Coste de la aplicación

Tipos de Stacks

Voy a hablar de 3 Stacks donde predominan ciertos lenguajes de programación ó que conforman distintas tecnologías :

  • LAMP donde PHP es el rey (Open Source y el más famosete)
  • MEAN donde Javascript es el rey (Open Source)
  • WISA donde Microsoft y sus cosicas son los reyes (Propietario)

LAMP

El Stack que conforma LAMP es una combinación de Linux, Apache, MySQLy PHP donde este suele ser el lenguaje de programación predominante.

Existen muchas variaciones de este Stack que simplemente intercambian una tecnología por otra para crear diferentes combinaciones , por ejemplo cambian el Sistema Operativo Linux por Windows :

  • WAMP : Windows Apache MySQL PHP
  • WIMP : Windows IIS Server MySQL PHP
  • LAPP : Linux Apache PostgreSQL PHP
  • MAMP : Mac OSX Apache MySQL PHP
  • XAMPP : SO a escoger, Perl y PHP como lenguaje, servidor FTP. (Si eres de los que usaron XAMPP hasta la saciedad en el instituto como una servidora sé lo que sientes).

LAMP está especialmente indicado para la realización de páginas web dinámicas con varias subpáginas.

MEAN

El Stack que conforma MEAN es una combinación de Mongodb, Express, Angular,Node donde Javascript es el lenguaje de programación predominante.

Las variaciones de este Stack son :

  • MERN : Mongodb, Express, React, Node
  • MEVN : Mongodb, Express, Vue, Node
  • MEBN : Mongodb, Express, Backbone, Node
  • MEEN : Mongodb, Express, Ember , Node
  • SENA : En vez de usar Mongodb podemos usar : SQL , MySQL , Oracle …

Este stack facilita y acelera el proceso de desarrollo y de escalabilidad, en cuanto a la transmisión de los datos JSON se postula para ese formato que beneficia especialmente a las aplicaciones SPA (Single Page Application), en español “aplicaciones de una sola página” por la parte del cliente y también benefician a las aplicaciones móviles.

Meteor se desarrolló empleando un stack de MEAN.

WISA

https://www.hzahed.com/2017/06/default

El Stack de Microsoft lo veo como el archienemigo de LAMP, mientras que este no fue en principio desarrollado para que sus componentes colaborasen entre sí, Microsoft dijo “JAJÁ pues los componentes de WISA tendrán justamente ese fin, chúpate esa”.

Al ser propietario (qué raro Microsoft) su uso requiere la adquisición de las correspondientes licencias de uso que además ofrecen un amplio soporte para los usuarios.

Este Stack es una combinación de las tecnologías que Microsoft tiene disponibles, un ejemplo de las muchas que hay es :

  • WISA : Windows Server| IIS | SQL Server | ASP.NET

El stack de Microsoft en una buena solución para proyectos web complejos y exigentes con un amplio número de visitas.

Otras Web Stacks de interés

  • Django Stack
  • Ruby Stack
  • Adobe Web Stacks

El resumen del resumen

A la hora de crear una aplicación debemos tener en cuenta las tecnologías que vamos a utilizar para su desarrollo, a ese conjunto de tecnologías se le llaman Stacks y hay multitud de combinaciones que podemos usar simplemente es buscar aquel Stack que se habitúe mejor a lo que queremos desarrollar :) :

  • Stack de Javascript — Aplicaciones para una sola página
  • Stack de PHP, Python … — Aplicaciones de varias páginas
  • Stack de Microsoft — Proyectos complejos y con una gran cantidad de usuarios.

La información ha sido obtenida de los siguientes recursos y me han ayudado a entender mejor el concepto de los stacks :

Para finalizar, no te cortes , si ves algo que quieras añadir o que sea erróneo, házmelo saber en los comentarios para que todos podamos aprender! 🤗

--

--

thaisDev

Junior Developer #Laravel #Node #MySQL #React (react y yo estamos pasito a pasito) , me gusta compartir todo lo que aprendo!