¿Qué es Stack Mean?
Stack Mean está basado en Javascript para desarrollar aplicaciones web. Mean lleva el nombre de M-mongoDB, E-express, A-angular y N-nodejs, que corresponden a las cuatro tecnologías claves que componen las capas del Stack.
- MONGODB: base de datos.
- Express: framework de node.js.
- Angular: framework de Javascript del lado del cliente.
- NodeJs: principal servidor web de Javascript.
Arquitectura del Stack Mean
La arquitectura Mean está diseñada para hacer que la creación de aplicaciones web en Javascript y el manejo de JSON sean bastante fáciles.
Componentes del Stack Mean
1. Interfaz de Angular.js
Angular te permite extender tus etiquetas html con metadatos para crear experiencias web dinámicas, más interactivas y poderosas, que aquellas construidas únicamente con html estático y Javascript.
Adicionalmente, tiene todo lo que un desarrollador esperaría de un framework front-end de javascript, como por ejemplo: la validación de formularios, la localización y la comunicación con servicios del back-end.
2. Nivel del servidor Express.js y Node.js
Express se ejecuta en un servidor Node.js, que es un framework rápido y minimalista para Node.js, como se llama a sí mismo. Tiene modelos potentes para el enrutamiento de URL y el manejo de solicitudes y respuestas HTTP.
Al realizar solicitudes XML HTTP,GET-POST desde su interfaz de Angular, se conecta con las funciones de express.js, las cuales impulsan la aplicación. Dichas funciones a su vez, utilizan los controladores Node.js de MongoDB, mediante devoluciones de llamada o promesas, para lograr acceder y actualizar los datos en la base de datos MONGODB.
3. Nivel de base de datos MONGODB
Siempre que la aplicación requiera almacenar datos de algún tipo, necesitará una base de datos, y preferiblemente si brinda la facilidad para trabajar con Angular, Express y Node.
MongoDB es una muy buena opción, sus documentos JSON, creados en la interfaz de Angular, se pueden enviar al servidor, procesar y almacenar directamente en MongoDB.
Ventajas del Stack Mean
1. Sencillez
Dado que todos los componentes se basan en Javascript y JSON, la integración del Stack es bastante intuitiva y sencilla.
2. Back-end
La E y la A de Mean (Express – Angular), son dos de los frameworks de Javascript más populares y mejor soportados para el desarrollo back-end y front-end respectivamente.
3. Código abierto
Todos los componentes del Stack Mean son de código abierto por naturaleza, de manera que permiten una oportunidad bastante grande, generosa y gratuita para los desarrolladores.
En resumidas cuentas, sea que se esté desarrollando una API de alto rendimiento, una aplicación web simple o un microservicio, Mean es un Stack ideal para desarrollarlas con Node.js.
Desventajas del Stack Mean
Javascript inicialmente no fue diseñado para construir servidores back-end y la base del Stack Mean es Javascript, incluyendo el servidor back-end, así que es muy probable que presente algunos problemas de simultaneidad y rendimiento a escala, debido a la naturaleza de Javascript.
También debemos tener en cuenta que, dado que permite desarrollar rápidamente, la lógica empresarial y del servidor pueden sufrir un aislamiento deficiente, ocasionando que el código espagueti, junto a malas prácticas, se vuelvan una realidad.
Una de las últimas desventajas es que, aunque existen muchos tutoriales, por lo general no incluyen pautas específicas para codificar JS y que sean apropiadas para este Stack, es decir, lo que le funcionó a una aplicación puede no funcionarle a otra y por el contrario, generar muchos problemas.
¿Qué tan seguro es el Stack Mean?
El Stack Mean tiene una separación concreta de tres niveles y si es usado con las mejores prácticas y el aislamiento correcto de la red, debería ser bastante seguro, evitando así que los usuarios finales tengan acceso a la lógica empresarial y a la capa de su base de datos. La aplicación está diseñada de forma predeterminada para evitar que la interacción malintencionada de algunos usuarios la pongan en riesgo, realizando inyección de consultas, manipulación de códigos, suplantación de puertos, entre otros.
Conclusión
El Stack Mean ofrece múltiples ventajas y beneficios al desarrollo web como: seguridad, sencillez, agilidad, y dinamismo, lo cual es muy importante en el momento en que se desee desarrollar utilizando Javascript. Sin embargo, no se debe dar por sentado que para hacer un buen uso y sacar el máximo provecho del Stack Mean, es indispensable tener buenas prácticas al momento de desarrollar.
Referencias bibliográficas
- https://www.mongodb.com/mean-stack
- https://www.enukesoftware.com/blog/mean-js-an-introduction-to-mean-stack.html