Qué es el stack MEAN y cómo escoger el mejor para ti
Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

Qué es el stack MEAN y cómo escoger el mejor para ti

Últimamente está muy de moda algo llamado MEAN o más concretamente del "Stack MEAN" para desarrollo web basado en JavaScript, del que seguramente habrás oído hablar.

Como ya he comentado en otras ocasiones, el lenguaje JavaScript se está haciendo un hueco cada vez mayor en el mercado del desarrollo de software. Aquel humilde lenguaje que empezó en los años '90 como una vía sencilla de validar formularios, se ha convertido en parte fundamental del desarrollo de todo tipo de aplicaciones: web, móviles, bases de datos, administración de sistemas...

Esta proliferación ha llevado a JavaScript a todas las capas de desarrollo, empezando por el lado cliente en sus inicios (el navegador), pero yendo también al servidor y a la capa de almacenamiento. En cualquiera de esos puntos podemos encontrar JavaScript listo para ser utilizado.

Gracias a eso, hoy en día es posible crear aplicaciones distribuidas utilizando el mismo lenguaje JavaScript en todas sus fases y capas. A este concepto y las tecnologías que lo posibilitan se les ha bautizado con el nombre de MEAN, acrónimo formado por las iniciales de las cuatro tecnologías principales que entran en juego: MongoDB, Express, AngularJS y Node.js.

MEAN_750

En mi opinión, por orden lógico, debería llamarse ANEM o incluso MENA, pero la verdad es que MEAN queda mejor y le da un toque agresivo ("mean" en inglés de la calle significa, entre otras cosas, borde, desconsiderado, incluso malévolo, aunque también es sinónimo de "cool"). AMEN tampoco hubiera estado mal :-)

Veamos cada una de sus partes principales

Node.js

imageEsto no lo sabe todo el mundo pero, de hecho, JavaScript nació en el lado servidor casi al mismo tiempo que en el navegador. La propia empresa que creó el lenguaje, Netscape, lo incluyó también en su servidor web llamado Netscape Enterprise Server, aunque con poco éxito. Poco después Microsoft lo incorporó a su ASP clásico, donde todavía funciona (aunque los programadores se decantaron más por el lenguaje VBScript). Muchos otros han hecho lo mismo.

No es sin embargo hasta hace relativamente poco, en 2009, cuando un proyecto empezó a poner en el mapa realmente a JavaScript en el lado servidor. Se trata de Node.js, un entorno de ejecución de aplicaciones multiplataforma y de código abierto (Open Source).

Node.js utiliza por debajo el motor de JavaScript de Google, denominado V8, y provee de una arquitectura orientada a eventos (como la de los navegadores) así como una serie de APIs no-bloqueantes (asíncronas) que le proporcionan un rendimiento y una escalabilidad muy elevadas. Se puede utilizar para crear cualquier tipo de lógica de aplicación, pero dado que incorpora un módulo para poder actuar como un servidor web, es especialmente popular para crear aplicaciones web. Actualmente lo emplean para sus aplicaciones multitud de empresas de todos los ámbitos pero especialmente de Internet: PayPal, SAP, Groupon... incluso la mismísima Microsoft, que ayuda a crear la versión para Windows (bajo IIS funciona de maravilla, con grandes ventajas frente a hostearlo solo) y lo soporta en Azure y en sus herramientas de desarrollo.

Gracias a Node.js se pueden crear gratuitamente aplicaciones web de alto rendimiento, en cualquier sistema operativo y utilizando como único lenguaje de programación JavaScript.

Express

imageNode.js por sí mismo está muy bien para crear la lógica de las aplicaciones, y como dispone de un módulo para el protocolo HTTP es posible crear aplicaciones web con lo que trae por defecto. Sin embargo es complejo, costoso y tenemos que hacer todo el trabajo a bajo nivel nosotros mismos.

Para ayudar a crear aplicaciones web más fácilmente nació Express. Este framework está escrito en JavaScript para Node.js. Su objetivo es que no tengamos que reinventar la rueda cada vez que queramos crear una aplicación web, ofreciéndonos soporte para las principales necesidades en este tipo de aplicaciones: gestión de peticiones y respuestas, cabeceras, rutas, vistas...

Digamos que Node.js sin Express.js sería mucho menos de lo que es hoy. Y costaría 10 veces más construir aplicaciones web con JavaScript. Así que van unidos felizmente en el servidor para permitirnos crear aplicaciones web de manera sencilla, por eso los he puesto juntos en la capa del medio de la figura anterior.

AngularJS

imageAunque evidentemente en el navegador podríamos desarrollar todo el código usando solamente HTML, CSS y JavaScript puro, qué duda cabe que disponer de alguna biblioteca que nos proporcione muchas funcionalidades ya hechas, facilita mucho las cosas. Es algo parecido a lo que pasa con Node.js y Express.js: el primero puede funcionar sin el segundo, pero seríamos tontos si no utilizásemos este último.

En el navegador desde siempre han existido bibliotecas de funciones que nos facilitan mucho la vida. La más conocida y utilizada es sin duda jQuery, que también fue una de las primeras en ser adoptada universalmente. En los últimos años se ha trasladado al navegador el patrón de diseño denominado MVC (Modelo-Vista-Controlador) y han surgido cientos de bibliotecas especializadas en facilitarnos su uso. De entre todas ellas destaca AngularJS que ha tomado un especial protagonismo en los últimos tiempos, entre otras muchas cosas porque está creada y soportada por Google, es gratuita y de código abierto.

Algunos han definido a AngularJS como "lo que HTML debería haber sido si se hubiese diseñado para crear aplicaciones". Ahí queda eso.

Angular.js va mucho más allá de ser una simple biblioteca de funciones: es un completo framework que nos brinda todo tipo de funcionalidades avanzadas, extendiendo de hecho HTML.

MongoDB

imageEn el lado del almacenamiento se han utilizado tradicionalmente bases de datos relacionales. Sin embargo, actualmente, los tipos de información que suelen requerir las aplicaciones web demandan mayor flexibilidad, menos coherencia y sobre todo mayor capacidad de escalar. Para dar respuesta a todo esto surge la tendencia tecnológica en almacenes de datos que se denomina NoSQL.

Estos almacenes de datos NoSQL pueden ser de diversos tipos, pero en muchos casos utilizan JavaScript para representar la información, recibiendo, enviando y almacenando datos usando la notación JSON (ver más abajo).

De entre todos estos almacenes de datos no-relacionales hay uno que destaca especialmente: MongoDB, y que es la "M" del stack MEAN.

No voy a entrar más detalles aquí porque ya he escrito mucho anteriormente sobre este tema. Así que si necesitas aprender lo fundamental sobre la tecnología NoSQL, sus motivaciones, sus limitaciones, sus aplicaciones... y también sobre MongoDB, léete el artículo "Fundamentos de bases de datos NoSQL: MongoDB", donde te lo explico todo.

JSON

imageEsto no forma parte del acrónimo MEAN, pero es una parte integral del mismo. Es también a su vez una palabra formada por iniciales de palabras, y significa: JavaScript Simple Object Notation.

Como su propio nombre indica JSON (pronunciado "yeison") permite representar objetos (en realidad estructuras complejas) en forma de código JavaScript que luego podemos evaluar. Su padre es Douglas Crockford.

Este formato es ligero, fácilmente legible por un humano pero también por un ordenador, está basado en JavaScript y además es muy fácil de procesar por parte de cualquier intérprete de este lenguaje.

Por ejemplo, este es un objeto JSON que representa un contacto:

{
 "nombre" : "José Manuel",
 "apellidos" : "Alarcón Aguín",
 "empresa" : "campusMVP",
 "telefono" : "986 165 802",
 "edad" : 42
}

Como vemos no es más que un objeto JavaScript normal y corriente. Crearlo es muy fácil pues es sintaxis JavaScript convencional. En www.json.org es posible encontrar una explicación completa de esta notación.

JSON es el pegamento de todas las capas. Es el formato en el que se transfieren los datos entre todos los niveles de la aplicación: navegador, servidor web y servidor de datos.

Aunque no forme parte del nombre es una parte esencial del stack MEAN.

Otros elementos

Con estas piezas ya tenemos lo fundamental del stack MEAN, aunque por supuesto necesitamos HTML y CSS, y muchas otras pequeñas piezas para facilitarnos el trabajo. Por ejemplo:

  • Es muy común usar Require.jsBrowserify para definir y cargar módulos asíncronamente en nuestras aplicaciones, ganando en agilidad de carga de las aplicaciones y evitando problemas de dependencias.
  • También existen infinidad de bibliotecas especializadas en todo tipo de cuestiones, como el manejo de fechas, la creación de plantillas y enlazado a datos, gráficas, etc, etc, etc...
  • Herramientas de testeo de aplicaciones, como QUnit, jasmine o Selenium.
  • Metalenguajes: lenguajes encima de otros lenguajes que ayudan a ser más eficiente y trabajar más fácilmente. Por ejemplo, con Sass o Less podemos escribir hojas de estilo mucho más potentes, flexibles y con más facilidad que con CSS. Estos lenguajes compilan luego a CSS estándar. Lo mismo ocurre con JavaScript. Metalenguajes como CoffeeScript o TypeScript ofrecen capacidades que no tiene JavaScript nativamente pero luego compilan a JavaScript nativo. De este modo podemos trabajar de manera mucho más eficiente con características más avanzadas en el lenguaje, pero obteniendo al final JavaScript puro.

Para poner orden en todo esto herramientas como Bower, un gestor de paquetes para desarrollo web en lado cliente, o Yeoman, capaz de generar y darnos ya hecha la base de muchas aplicaciones usando todo tipo de bibliotecas.

Y salvo que uses Visual Studio, WebStorm o herramientas avanzadas similares, lo más normal es que necesites automatizar muchas tareas antes de desplegar tu aplicación: conversión de SaaS o Less a CSS, de CoffeScript o TypeScript a JavaScript, minimización y ofuscación de código, ejecución de pruebas.... Para facilitarnos esto existen herramientas basadas en JavaScript como Grunt.

Herramientas_FrontEnd

No se vayan todavía... aún hay más...

Por si todo esto no fuera suficiente, todavía hay algo más para acabar de complicarlo.

Una vez que tenemos claro qué es el stack MEAN y qué componentes lo conforman, si se nos ocurre buscar información en la Web sobre "stack MEAN" veremos que nos aparecen muchos proyectos que dicen ser la base de dicho stack. Los dos más populares y que seguro que nos topamos enseguida son Mean.js y Mean.io.

Ambos afirman ser una solución completa de código abierto para el stack MEAN y que abarcan el stack completo. WTF?

Esto lo que significa es que ambos nos proporcionan una base de la que partir para construir aplicaciones basadas en MEAN, de forma que tengamos parte del camino andado. Ambos son muy parecidos (de hecho parten de la misma base pues Mean.js es un fork de Mean.io, que empezó antes) pero tienen filosofías diferentes a la hora de construir las aplicaciones.

¿Cuál elegir? Bueno, difícil responder, pues ambos son excelentes. Por un lado Mean.js está mejor documentado que Mean.io, pero sin embargo este último tiene una comunidad más activa por lo que nos será más fácil conseguir ayuda...

Por otro lado, lo sorprendente es que ambos fueron creados por el mismo desarrollador Amos Haviv, que lo inició bajo los auspicios de una empresa que le daba soporte. Al cabo de un tiempo surgieron conflictos, así que abandonó el proyecto y ahora mantiene Mean.js (aquí lo explica él mismo). En ese sentido esta segunda opción puede parecer mejor, pues el creador original es por la que ha apostado, pero por otro lado Mean.io tiene detrás a una empresa que garantiza su soporte... Difícil elección.

Además de estos dos hay unos cuantos más, como por ejemplo:

Sea como sea, cualquiera de ellos es una buena elección. Es cuestión de acostumbrarse al modo de trabajar de cada uno y todos están bien documentados.

Además, siempre podemos partir totalmente de cero y trabajar como queramos con las piezas del puzle.

La elección es tuya.

En cualquier caso antes de nada es necesario dominar de verdad HTML/CSS, JavaScript, jQuery, AngularJS, arquitectura de aplicaciones SPA, MongoDB y Node.js+Express. Sino de poco nos valdrá adentrarnos en este mundo.

Espero que este artículo te haya aclarado algunos conceptos, te haya abierto opciones y sobre todo que te haya ayudado :-)

José Manuel Alarcón Director de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón

No te pierdas ningún post

Únete gratis a nuestro canal en Telegram y te avisaremos en el momento en el que publiquemos uno nuevo.


Comentarios (20) -

Muchas gracias José Manuel por el artículo, haces un esquema muy clarificador de esa multitud de herramientas que nos hacen la vida más fácil. La verdad es que a mi me hacía falta un resumen tan esclarecedor.

Saludos y de nuevo muchas gracias.

Responder

José M. Alarcön
Spain José M. Alarcön

Hola Antonio:

De nada, me alegro de ayudar :-)

Saludos!

Responder

Atcherley Zapata
United States Atcherley Zapata

Hola Jose Manuel, gracias por el articulo, muy bueno ........ cuando colocas "Meteor, que es alucinante", es el mas recomendable para usarlo con MEAN ? ...... gracias y saludos

Responder

José M. Alarcön
Spain José M. Alarcön

Hola Atcherley:

Todo depende de lo que quieras hacer. Meteor es alucinante porque puedes crear aplicaciones en tiempo real (con notificaciones simultáneas a múltiples dispositivos y navegadores) con una facilidad pasmosa. Se parece, salvando las distancias, a lo que puedes hacer con SignalR en la plataforma de Microsoft. Échale un vistazo a los ejemplos y vídeos que tienen en su página y canal de YouTube y verás a qué me refiero.

Si no quieres tanta interferencia o algo que te lo de todo tan hecho y prefieres partir de algo más estándar y tener un poco más de control, entonces creo que Mean.js o Mean.io son una gran opción.

Saludos!

Responder

Atcherley Zapata
United States Atcherley Zapata

Gracias José por tu respuesta, voy a mirar mas el Meteor a ver que ofrece ....... saludos

Responder

Interesante comparativa de Frameworks para aplicaciones Web sobre Node.js:

Node.js Framework Comparison: Express vs. Koa vs. Hapi:
www.airpair.com/.../nodejs-framework-comparison-express-koa-hapi

Responder

Pablo López
Mexico Pablo López

Hola, excelente artículo, es la segunda vez que lo leo, la primera vez hace varios meses no entendí mucho de lo que hablabas, pero ahora lo veo más claro, gracias a que en estos momentos estoy tomando un curso en campusMVP de JavaScript que por cierto impartes tú mismo y está súper entendible y por mi parte que no entendía casi nada de JS lo recomiendo al 100%...

Pero mi pregunta es, este es el siguiente paso en la tecnología para crear aplicaciones web completas, o es solo una opción más? Me gustaría saber que es realmente lo mejor y más avanzado. Continuar sobre el camino de Visual Studio, ASP.NET, C#, Razor, SQL Server, Entity Framework, MVC y todo esto que nos pone a la mano Microsoft? también, web forms (que a mi forma de ver ya está un poquitín limitado y decayendo) O quizás PHP y MySqly, todo eso que nos dan los servidores Linux? (que también los veo bastante decaídos)

En tu opinión y como experto en JavaScript, cual es el mejor camino? sé que depende de cada quien, pero ponte en el lugar de una persona como nosotros que buscamos aprender ahorita y aprender lo más nuevo y rentable en el mundo de la programación web, o quizás pensando más en grande en el mundo de la multiplataforma, que es lo que deberíamos tomar más en cuenta, que camino es el mejor, no el mas fácil, ni el mas a la mano, ni mucho menos el mas económico, me refiero al mejor, al más avanzado, al más estable, el que se le ve más y mejor futuro y además el más rentable...

Mi pregunta viene de la invitación tuya hace algunos meses de estudiar el curso de JavaScript de cero a profesional, y por qué ahora veo que hay un nuevo curso de JavaScript que es de programación avanzada.

Espero no ser muy efusivo en mi pregunta, si me recuerdas del curso, no soy muy limitado en esto de saber que es lo siguiente y lo mejor en el camino.

Independientemente de la respuesta, hay algún plan a corto plazo para un curso de una aplicación completa, que abarque todo esto que mencionas en el artículo?

Responder

José Manuel Alarcón
Spain José Manuel Alarcón

Pablo:

No hay un mejor camino, solo hay muchas opciones.

El Stack de Microsoft tiene muchas ventajas, pero quizá sea más complejo que el de JavaScript, donde usas el mismo lenguaje desde el cliente hasta el servidor (con Node.js y MongoDB como explico en este post). Para mi PHP (sin ser un experto en éste) la única ventaja que tiene es que hay mucho código gratuito y algunas aplicaciones populares como Wordpress hechas con el lenguaje, pero por lo demás no me gusta.

Si lo único que sabes es HTML+CSS+JavaScript y quieres dar el salto al lado servidor yo me iría por el stack MEAN. Si ya tienes buenos fundamentos de .NET, quizá ASP.NET y las tecnologías relacionadas (como Entity Framework o SignalR) sean una opción mejor para ese caso.

Web Forms a mi me parece  una solución estupenda para gente que necesita hacer aplicaciones de gestión y enlazadas a datos de manera rápida, sencilla y sin tener que dominar a fondo HTML+CSS+JavaScript. En eso es imbatible.

Analizar pormenorizadamente cada una de las opciones no es para un comentario en el blog, sino para como mínimo uno o dos artículos largos. Quizá algún día escriba algo, al menos para analizar el stack de Microsoft y MEAN.

El resumen es que tienes que aprender lo que sea más cómodo y atractivo para ti y lo que te de más ventajas según tus necesidades y del lugar que partas.

Saludos!

Responder

Amigo soy nuevo en el mundo javascript y todo eso, tengo una duda que para mi es fundamental: la herramienta de desarrollo cual es? vengo del mundo .net donde con Visual Studio tienes desde donde iniciar tus desarrollos, pero en el caso del desarrollo java script, cual es el IDE hay algo tipo VS donde creas el proyecto y de ahi partes adjuntando lo que necesites...en el caso de javascript hay un entorno de desarrollo que los englobe a todos y desde ahí empezar a desarrollar en cada una de las tecnologías que conforman MEAN?

Saludos y gracias

Responder

José Manuel Alarcón
Spain José Manuel Alarcón

Hola Luis:

En JavaScript el entorno de desarrollo puede ser incluso el simple bloc de notas. No necesitas nada más. Ahora bien, lo mejor es usar un editor especializado y hay muchísimos en el mercado, por poner unos ejemplos:

· Visual Studio: tiene un soporte estupendo para JavaScript, por lo que es muy recomendable. También tiene extensiones para Node.js. Es gratuito y funciona bajo Windows.
· JetBrains WebStorm: De lo mejorcito que hay para JavaScript y con soporte para casi todo lo que necesites incluyendo claro está Node.js. http://www.jetbrains.com/webstorm/ No es gratuito, pero es muy barato y merece mucho la pena. Multiplataforma.
· Sublime Text: Uno de los que más le gustan a la gente por sus capacidades de edición. No es gratuito pero también muy barato. Multiplataforma. http://www.sublimetext.com/  Puedes saber más de él en este post: /recursos/post/5-caracteristicas-de-Sublime-Text-que-deberias-conocer.aspx
· Electron: antes llamado Atom y muy conocido en el mundillo y creado por la gente de GitHub. http://electron.atom.io/
· VS Code: el nuevo añadido a la familia de editores de Microsoft. Es gratuito, multiplataforma y orientado sobre todo a escribir código JavaScript y C#. Está basado en Electron. Aquí tienes más infroamción: /recursos/post/VIDEO-Un-vistazo-a-Visual-Studio-Code-bajo-Linux-con-Git.aspx

Si estás empezando con JavaScript te recomiendo encarecidamente mi curso del tema:
/catalogo/Product-Fundamentos-de-desarrollo-web-con-JavaScript_207.aspx

O si te ves con nivel de base suficiente, el avanzado:
/catalogo/Product-T%C3%A9cnicas-avanzadas-para-programadores-JavaScript_206.aspx

Te aseguro que aprenderás un montón.

Saludos.

Responder

Si tuvieras que recomendar un orden lógico a la hora de aprender esta "metodología" por cuál se deberia empezar y continuar?
1 angular
2 node
3 express
4 mongo db ???
Que me recomendariías??
Gracias, saludos, excelente artículo.

Responder

José Manuel Alarcón
Spain José Manuel Alarcón

Hola Carlos:

Mi orden sería:

1.- JavaScript (sí, hay que dominarlo a buen nivel y la mayor parte de la gente no lo domina aunque lo use a diario, y Node y estos entornos son muy exigentes en cuanto a esto). Por cierto: /catalogo/Product-T%C3%A9cnicas-avanzadas-para-programadores-JavaScript_206.aspx

2.- Creación de Single Page Applications (/catalogo/Product-Single-Page-Applications-arquitectura,-patrones-y-buenas-pr%C3%A1cticas_190.aspx), a buen nivel, aunque no necesariamente usando AngularJS. Aquí te lo aclaro más: /recursos/post/191;Debo-aprender-AngularJS-ahora-o-esperar-a-AngularJS-20.aspx

3.-MongoDB: yo empezaría por MongoDB porque el backend es fundamental para cualquier aplicación y lo siguente te servirá de poco sin conocer esto, aunque lo puedes aprender en paralelo. Además te servirá para muchas otras cosas.

4.- NodeJS + Express + Mean.js o Mean.io

Espero que te sirva.

Saludos!

Responder

Gracias!!! :):):)

Responder

Hola muchas gracias por tu articulo muy esclarecedor.... quisiera hacerte un par de preguntas para ver tu opinion.... estoy aprendiendo Meteor y no me han enseñadop nada de Node, ni de Angular.... Por que crees... no es necesario??? hay algo mas que me crea una gran duda.... la mayoria de web page que te topas son solo informativas.... imagenes, texto y quizas algo de animaciones.... pero no requieren tanta sofisticacion.... en tu opinion... por que meterse tan profundo en tanto codigo tan detallado??? Gracias... y perdon lo superfulas de mis preguntas....

Responder

José Manuel Alarcón
Spain José Manuel Alarcón

Hola Camilo:

Aquí hay dos cosas que hay que diferenciar.

Por un lado lo que dices de "la mayoria de web page que te topas son solo informativas.... imagenes, texto y quizas algo de animaciones.... pero no requieren tanta sofisticación...". En efecto, puede que si lo que vas a hacer es una página web inmformativa en primer lugar ya no deberías estar aprendiendo Meteor siquiera. ¿Por qué? Pues porque Meteor es un framework para desarrollo de aplicaciones web, no de sitios web, que son cosas muy diferentes. Si lo que necesitas es crear sitios web quizá es mucho mejor que simplemente aprendas Word Press o un CMS similar y listo. No hace falta complicarse la vida con Meteor y tampoco aprender a programar.

Pero por otro lado, y con un carácter más general, supongamos que sí, que debes aprender Meteor para lo que sea y entonces surge la cuestión de: dado que Meteor está basado en NodeJS, MongoDB, etc... ¿es necesario que aprenda estos frameworks o me llega con aprender las facilidades que me ofrece Meteor sin profundizar más?

En mi opinión es un error no profundizar. Aprender a programar "de oído" o usando un framework que te facilite mucho las cosas está bien par hacer cuatro cosas. Y es cierto que en la web proliferan tutoriales y contenidos de todo tipo en los que jamás se profundiza en nada (todo lo contrario que en nuestros cursos).

El problema es que si te limitas a aprender de manera superficial algo, la vida real se encargará de demostrarte que no es suficiente. Es decir, si aprendes JavaScript, NodeJS, MongoDB, AngularJS... a fondo, aunque luego no le fueses a sacar partido en el trabajo de todos los días (que yo creo que sí), en el momento en que surja un problema, en el momento en el que no comprendas por qué pasa algo y debas solucionarlo, en el momento en el que no te llegue con lo que te proporciona el framework de serie... en todos estos momentos y muchos otros es cuando el hecho de dominar los fundamentos marcará la diferencia.

Además, cuando aprendes simplemente una herramienta estás a merced de lo que ocurra con esa herramienta. Si desaparece, cae en desgracia o se queda atrás ¿qué vas a hacer?. sin embargo si dominas los fundamentos, incluso aunque cambie el lenguaje, la plataforma o la tecnología completa no tienes problema: tienes la base suficiente como para poder adaptarte a cualquier cosa con relativamente poco esfuerzo.

En mi opinión aprender una herramienta careciendo de la base suficiente es un error y además no te va a aportar nada a medio plazo. En el caso de Meteor empieza dominando de verdad las bases fundamentales (HTML, CSS y JavaScript), luego NodeJS, luego MongoDB y finalmente aprende Meteor o cualquier otro framework que te encaje. Es la única manera de que estés activo a largo plazo.

Saludos.

Responder

damian triebl
damian triebl

hola, estoy desarrollando en meteor, y realmente me encanta, pero tiene grandes problemas para el deploy, no puedo subir mis aplicaciones, y resulta que mean tiene un launcher en google compute engine, con mi experiencia en meteor, pense en migrar a mean, dicen que se parece bastante, aunque siempre estuve reacio con angularjs.
  es muy dificil subir paginas en mean? porque estudiar todo un lenguaje y manejarlo bien para despues tener problemas con librerias (me pasa con meteor y grapicksmagick) realmente es desalentador.

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola:

Desplegar aplicaciones NodeJS es muy sencillo, especialmente si usas algún servicio especializado como Heroku, Nodejitsu, Azure Web Apps, AWS, etc... Es poco más que copiar archivos... Y ni eso ya que puedes desplegar directamente desde Git o GitHub. En el caso de Azure incluso puedes desplegar copiando tu aplicación a Dropbox o OneDrive, y que se sincronice y despliegue automáticamente.

Saludos.

Responder

damian triebl
damian triebl

si, estoy tratando ahora con modulus, pero queria hacerlo con GCE (google tiene un monton de apis interesantes, la posibilidad de escalar, backup,  y un precio muy lindo) pero realmente probe todas las formas posibles con mupx y si bien lograba estar casi instalado, me faltaba el grapicksmagicks,  kadira lanzo un mup pero en windows no anda y siempre me abre el archivo .js en el notepad en ves de ejecutar el archivo =(

Responder

Angel Rendiles
Angel Rendiles

Saludos amigo, recien leo tu publicacion y me ha llamado mucho la atención. Espero tengas un tiempito para responderme algunas preguntas.

1- Hay forma de cambiar mongoDB por mysql? Es decir, si node y express tienen librerias para conectarse con mysql, o sqlServer, Oracle ect? O se esta limitado solo a MongoDB?

2- Cuando buscas hosting, normalmente te los ofrecen con servidor apache para mover PHP. Como es mas o menos el proceso para correr node en el servidor hosting?

Gracias.

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Ángel:

Paso a contestar a tus preguntas:

1.- Node no está limitado en absoluto a MongoDB, solamente es el almacenamiento más utilizado. Puedes conectarte a MySQL, Oracle, SQL Server...

2.- Para albergar aplicaciones con Node lo mejor es usar algún proveedor especializado como por ejemplo Heroku: https://www.heroku.com/ que es el más conocido y tiene una capa gratuita. También puedes albergar en Azure (con capa gratuita) y en muchos otros sitios. Aquí tienes una buena lista de sitios que permiten hostear Node:

github.com/.../Node-Hosting

Saludos.

Responder

Pingbacks and trackbacks (2)+

Agregar comentario