Desarrollo Full Stack JavaScript, también conocido como MEAN

Share Button

mean_small_verticalCon el auge de AngularJS, una nueva corriente está surgiendo en el desarrollo en JavaScript de principio a fin. El llamado stack MEAN. Con desarrollo end-to-end nos referimos a utilizar JS en todas las partes que componen una aplicación web actual: Frontend, Backend y Base de Datos.

El acrónimo MEAN viene de (M)ongo + (E)xpress + (A)ngular + (N)ode

MongoDB

MongoDBMongo es una base de datos no relacional (NoSQL) de código abierto que guarda los datos en documentos tipo JSON (JavaScript Object Notation)  pero en forma binaria (BSON) para hacer la integración de una manera más rápida. Se pueden ejecutar operaciones en JavaScript en su consola en  lugar de consultas SQL. Además tiene una gran integración con Node.js con los  driver propio y con Mongoose. Debido a su flexibilidad es muy escalable y ayuda al desarrollo ágil de proyectos web.

 

ExpressJS

expressjsExpress es un framework por encima de Node.js que permite crear servidores web y recibir peticiones HTTP de una manera sencilla, lo que permite también crear APIs REST de forma rápida.

 

AngularJS

Angular JS tutorialAngular es un framework JS para la parte cliente o Frontend de una aplicación web, que respeta el paradigma MVC y permite crear Single-Page Applications (Aplicaciones web que no necesitan recargar la página), de manera más o menos sencilla. Es un proyecto mantenido por Google y que actualmente está muy en auge.

 

Node.js

Zemanta Related Posts ThumbnailNode Es un entorno de programación en JavaScript para el Backend basado en el motor V8 de JavaScript del navegador Google Chrome y orientado a eventos, no bloqueante,  lo que lo hace muy rápido a la hora de crear servidores web y emplear tiempo real. Fue creado en 2009 y aunque aún es joven, las últimas versiones lo hacen muy robusto además de la gran comunidad de desarrolladores que posee. No solo se utiliza en servidor, se ha extendido tanto que se emplea en Stylus, un preproccesador CSS, en Grunt un gestor de tareas basado en JavaScript y en varias cosas más como tests, etc…

Una de las principales ventajas de MEAN es que emplea el mismo lenguaje de programación en todas las partes de la aplicación lo que permite que una persona pueda manejarse en todos los ámbitos de una aplicación web moderna aunque se especialice en uno de ellos. De esta manera se colabora más en los proyectos y el desarrollo es más continuo.

Esto añadido a las pruebas automatizadas y los test unitarios, los repositorios git como GitHub o Bitbucket, los servidores de integración continua y las PaaS como Heroku o Nodejitsu hacen que el desarrollo web moderno sea más divertido y ágil.

 

Existen varios proyectos de esqueletos de aplicación con el stack MEAN, uno de los más conocidos es MEAN.io. Por mi parte estoy desarrollando mi propio MEAN Boilerplate (con casinos y furcias) con estas propiedades añadiendole Redis para el almacenaje de sesiones y Stylus como preprocessador CSS. También uso PassportJS para el login y registro con Facebook y Twitter. El proyecto está en GitHub y os animo a colaborar o a que lo uséis en vuestros proyectos.

Llevo una semana en desarrollo con ello y poco a poco lo voy a ir ampliando y mejorando. Iré contando en el blog las cosas que vaya aprendiendo. Podéis contactar conmigo en Twitter y en Google+

 

Share Button
The following two tabs change content below.

cazaustre

Front End Developer at Chefly
Desarrollador Front-End y Diseñador Gráfico Freelance. Apasionado de la tecnología HTML5 y el mundo JavaScript. Geek, adicto a las series y a las camisetas.
  • andres_sn7

    Excelente blog Carlos! Saludos desde Argentina!

  • Carolina

    Muy bueno tu articulo :D pasare a ver el repo.

  • http://carlosazaustre.es/ Carlos Azaustre

    Muchas gracias por seguir el blog :)
    Saludos!

  • Jesús Mur

    Hola Carlos, felicidades por tu blog, me gusta mucho. Como te comente por Twitter estoy volviendo con el gusanillo de Node.js gracias a tu videotutorial. Bien, una preguntita… ¿Passport sirve también para hacer inicios de sesión con usuario + contraseña? ¿O solo para entrar mediante redes sociales? Tengo entendido que con Express se puede hacer, ¿En caso de ser posible hacer un sistema de login con Passport, que me recomiendas?

    • http://carlosazaustre.es/ Carlos Azaustre

      Hola @jessmur:disqus ! Muchas gracias :) Me alegra saber que te está picando Node jejej.
      Pues passport sirve para las 2 cosas, puedes hacer login mediante redes sociales (yo creo que tienen para todas: http://passportjs.org/guide/providers/) y también puedes implementar un sistema de login + contraseña propio con su estrategia ‘local’: http://passportjs.org/guide/username-password/
      Espero que te sirva :) Saludos!

  • Pingback: Desarrollo Full Stack JavaScript, tambié...

  • Daniel Monagas

    Excelente post, me has aclarado muchos puntos que no había identificado

  • Pingback: Cómo configurar un entorno de desarrollo virtual con Vagrant

  • pyner

    gracias por la info, esta genial este blog tienes una de las mejores documentacion en español en el mundo javascript, no he jugado mucho con node.js, pero megustaria.

    como lo vez frente al lenguage de programacion ” Go ” de google…. veo que implementa el mismo enfoque aunque ” Go ” es mas sencillo, pero quiero escuchar una opinion mas profesinal…

  • Pingback: LANNN el Stack en entornos de producción

  • Karman Valenzuela

    Que tal Carlos, muy buen Blog el tuyo, tarde un par de meses para llegar a este punto, empece programando con NodeJS utilizando Socket.io, posteriormente metí Express, y después necesitando una pequeña base de datos adopte MongoDB que me viene perfecto y en este momento investigo sobre AngularJS, parece ser que es lo que me hace falta para tener el entorno completo.
    En lo personal, al inicio no pensé que cada una de las herramientas anteriores me fueran tan útiles en conjunto, hasta me opuse en varias ocasiones dejándolas de lado por desidia, pero gradualmente las fui complementando, espero que Angular se adapte tan bien como las demás herramientas.

    Estaré al pendiente de tu blog y ojala puedas seguir subiendo entradas sobre este tema tan interesante.

  • Pingback: ¿Qué es MEAN? | RanCheese

  • tive

    Muy buen articulo para tener una perspectiva de todo.Nosotros tambien estamos con node.js y actualmente seguimos en distintos proyectos de cooperacion espero que algun dia podamos compartir como comunidad, hacer mas actividades e impulsar el conocimiento colectivo, Sigue asi que vas muy bien! @tivepro

  • Marlon Cepeda

    Carlos llegue acá por casualidad y veo tu mean y me gusta mucho es simple y practico con respecto a otro pero me gustaría agregarle unas cosillas te dare un fork y luego me dices que tal si te parecen o no el fin de semana me colocare a eso la idea de usar redis te la apoyo 100%