Hoy quiero hablar sobre MEAN STACK y la omnipresencia de JavaScript en el desarrollo de aplicaciones web plasmada en este stack. En primer lugar, podemos enunciar que significa este acrónimo MEAN, que no es mas que las siglas de MongoDB Express AngularJS Node.JS. Hacemos un recorrido desde el cliente al servidor pasando por la base de datos y lo mejor de todo con el mismo punto en común. Desarrollo end-to-end usando sólo JavaScript tanto en el forntend, backend y la base de datos. Tiene buena pinta, ¿no?
Para quien sea novato como yo en esta tecnología, quiero enumerar de manera sencilla para que se utilizan las diferentes herramientas que he puesto antes:
- MongoDB:Es la base de datos.
- Express:Es el framework server web.
- AngularJS:Es el framework web cliente.
- Node.JSEs la plataforma del servidor.
Este sistema responde a una arquitectura de tres niveles, que es la más conocida:
- Capa de datos: Base de datos.
- Capa de lógica: Servidor.
- Capa de presentación: Cliente.
No obstante esto con una arquitectura de software moderna para el desarrollo web, lo podemos ver de esta otra forma:
- Base de datos.
- Interfaz de usuario del cliente.
- Lógica del servidor.
- Lógica del cliente.
Por tanto aquí surge el paradigma MVC (Model View Controller):
- Model: Encargado de la manipulación de datos, es el encargado de responder a las peticiones de información.
- View: Es la parte visual de interacción con el usuario.
- Controller: Responde tanto al sistema como a los eventos de usuario, haciendo que el model y la view cambien de modo correcto.
Este stack es muy sencillo de utilizar teniendo en cuenta una serie de paquetes que hay que instalar, por tanto aquí aparecen dos stack para poder trabajar con el MEAN.IO y MEAN.JS. Esencialmente ellos son lo mismo, usan karma and mocha para tests, grunt con livereload, passport integration... Con esto quiero decir que son similares dado que Mean.js es un fork of
Mean.io y ambos fueron empezados por la misma persona. Mean.io esta ahora debajo del paraguas de la compañía Linnovate. Entonces pues el tipo que lo desarrollo para la colaboración con esta compañía y empezó aparte Mean.js. No obstante, son iguales pero hasta un punto, este sería:
- Scaffoldin: Mean.io usa una herramienta command line (cli), llamada mean. Mientras, Mean.js usa el conocido Yeoman Generators.
- Modularidad:Mean.io usa unos modularidad de node packages más independientes con los archivos del cliente y servidor que estan dentro de los módulos.Mean.js solo utiliza módulos en el front-end(para angular), y los conecta con Express.
- Documentación:Mean.io tiene buena documentación. Mean.js tiene una sorprendente documentación, esta la podemos ver meanjs.org, además recomiendo leerla.
- Comunidad:Mean.io es claramente ganador y crece más rápido. Mean.js tiene poco movimiento aunque es bastante nuevo, por tanto es comprensible. Personalmente, me quedaría con Mean.js, por su amplitud principalmente.
Si alguien quiere profundizar más en este hilo, se puede encontrar más información stackoverflow.com
No hay comentarios:
Publicar un comentario