El auge del Stack MEAN

Hoy en día ya es posible tener JavaScript como lenguaje de programación en el servidor. NodeJS es la tecnología que lo permite ya que está escrito en JavaScript, haciendo de ello aplicaciones más rápidas gracias al uso de eventos, hilos y la capacidad de ser asíncrono. De lo anterior se deduce que si un usuario realiza un evento que ocupa 5 segundos, éste no bloqueará al evento que viene detrás, ya que mientras se ejecuta seguirán entrando eventos de manera no bloqueante. Además cada conexión al servidor ocupa mucho menos espacio que por ejemplo con PHP. Con lo que podremos tener más usuarios activos con la misma memoria RAM en el servidor. Obviamente no usaremos Apache o Nginx ya que NodeJS es quién nos permite ejecutar nuestra aplicación.

Si atendemos al backend y frontend, AngularJS es quien nos va a construir todo ello. Con un lenguaje más limpio y potente que otros competidores. Además gracias a que es JavaScript y se ejecuta en el navegador, nuestras aplicaciones serán más potentes debido a que la carga está repartida entre servidor y cliente. AngularJS utiliza el motor del navegador Chorme, lo que le hace aún más potente y rápido indistintamente del navegador que utilicemos.

Podemos enlazar AngularJS con otros lenguajes de programación ya sea PHP o Ruby. Es muy sencillo hacerlo ya que solo necesitamos el código importado de AngularJS y unas directivas para indicar a nuestro HTML que vamos a utilizar AngularJS en nuestra página.

Podemos modularizar nuestra aplicación con una lógica MVC la cual tendremos que crear con sus vistas, controladores, modelos y por supuesto un enrutador.

Express es un pequeño framework que ayuda a NodeJS con directivas bastante útiles como es “use”o “export”. Podemos utilizar NodeJS de una manera más amigable gracias a Express.

Si a todo lo anterior le sumamos como BBDD MongoDB, (la cual es una BBDD NO relacional y todos sus datos se guardan en formato JSON), tendremos una aplicación fullstack hecha solo con lenguaje JavaScript.

Y para nutrir nuestras aplicaciones con módulos que nos ayuden a ello. Tenemos un gestor de paquetes llamado NPM. Podremos buscar en su web infinidades de paquetes totalmente gratuitos para montar nuestra aplicación con más características y funcionalidades.

Hay frameworks que agrupan todas estas tecnologías en una haciendo más fácil la programación y la curva de aprendizaje. Podemos encontrar MEAN.IO, MEAN.JS o SAILS.JS. Pero lo más lógico es aprender las tripas de estas tecnologías para después poder utilizar los frameworks. O simplemente para crearte tu propia forma de programar con ellas. De hecho gracias a AngularJS podemos realizar una aplicación entera sin necesidad de más tecnologías, aunque lógicamente estará algo más incapacitada.

Leave a Reply

Your email address will not be published. Required fields are marked