¿Debo aprender AngularJS o Meteor?

Meteorito, sin duda.

1. Angular es una causa perdida en este momento. AngularJS se está renovando radicalmente en la próxima versión 2.0, y “los usuarios deberán familiarizarse con un nuevo tipo de arquitectura. También se ha confirmado que no habrá una ruta de migración de Angular 1.X a 2.0”. Además, el consenso parece ser que Angular 2 realmente no estará listo para su uso hasta dentro de un año o dos.

2. Angular es un dolor de aprender. En comparación con AngularJS, Meteor ha sido llamado “vergonzosamente fácil de aprender”. No tiene conceptos esotéricos (a diferencia de Angular), una documentación clara, convenciones de codificación bien establecidas y una curva de aprendizaje superficial.

3. Meteor ofrece mucho más. Si bien AngularJS es una biblioteca front-end y Sails.js es backend, Meteor es un framework de pila completa

4. Angular es un dolor de usar para tareas comunes. Angular es mientras un sistema de inicio de sesión con soporte para OAuth a través de Facebook, Twitter o GitHub requiere varios cientos de líneas de código con Angular, en Meteor todo lo que tiene que hacer es agregar un paquete principal y especificar dónde colocar el botón de inicio de sesión. El restablecimiento de contraseña está incluido. Incluso con el paquete de inicio de sesión de token más popular, OAuth está lejos de ser simple con Angular.

La verdad es que si observa SOLO el “lado del cliente” de la ecuación de la aplicación híbrida, tanto AngularJS como MeteorJS son perfectamente adecuados para aplicaciones híbridas. Al final, Córdoba es un marco de “envoltura” / “integración” para a) envolver una aplicación HTML / JS / CSS en un binario yb) permitir la integración con características solo binarias. Así que de nuevo ambos con trabajo.

Obviamente, usted mismo señala correctamente la diferencia con respecto al backend. Entonces creo que las preguntas se convierten en las siguientes:

a) ¿Te gusta Rails y desarrollarte en Rails?
Si lo hace, entonces tal vez AngularJS sea el camino a seguir, sin embargo, solo recuerde que, dependiendo de su situación laboral, algunos trabajos pueden no brindarle la oportunidad de trabajar en la pila completa, en cuyo punto puede verse obligado a elegir, AngularJS OR Rails.

b) ¿Te gusta JS?
Trabajar en JS es un mundo bastante diferente de Rails / Ruby por varias razones diferentes. Probablemente lo más obvio es que JS es asíncrono en lugar de procesal como Ruby, así que … Si aprendes MeteorJS, al menos en un pequeño grado, dejas a Rails / Ruby atrás y llenas de JS, así que … mejor que te guste JS.

c) ¿Por qué estás aprendiendo AngularJS o MeteorJS en primer lugar?
Dices que te interesa aprender cómo desarrollar aplicaciones híbridas, pero ¿por qué? ¿Tienes un proyecto personal en mente? ¿Quieres cambiar de trabajo? Las respuestas a estas preguntas pueden ayudarlo a comprender cuál es la mejor opción dada su motivación específica.

d) ¿Te importa estar un poco más al borde de la sangría?
¡Creo que MeteorJS es genial! Cuando lo encontré pensé “Hombre, esto resuelve muchos de los problemas que mi equipo y yo vemos a diario”, pero la verdad es que todavía es bastante nuevo y tomará un poco más de tiempo antes de que sea tan robusto y aceptado como algunos otros marcos.

Estas son solo algunas de las preguntas en las que es posible que desee pensar, pero … si desea una respuesta directa, busque MeteorJS por las siguientes razones:

a) Creo que la sintaxis y la estructura son mejores que AngularJS

b) La sincronización de datos frontend / backend proporcionada por DDP es simplemente estelar.
Si bien puede agregar algunos complementos e intentar comenzar a emular lo mismo en AngularJS, aún necesitará rastrear una pieza de back-end para RoR (que puede o no existir) y simplemente nunca será tan integrada / transparente y eficiente como DDP en MeteorJS

c) AngularJS se ha convertido en una especie de bestia que la comunidad y los desarrolladores tienen más o menos en manos. AngularJS 2.0 está en camino y se puede ver en el comentario / justificación del nuevo diseño, es porque 1.0 se ha vuelto un poco difícil de manejar PERO también han declarado que NO será compatible con versiones anteriores, así que … tendrá un problema importante que es que comenzarás con 1.0 solo para redefinir el juego en unos 6-12 meses y luego qué haces. Súbete al nuevo carro o espera a que el viejo desaparezca lentamente …

Espero que esto ayude.

AngularJS es una biblioteca, pero MeteorJS, por otro lado, es un marco completo. AngularJS y MeteorJS están escritos en JavaScript, pero Angular es para uso front-end, mientras que Meteor cubre ambos, front-end y back-end.

Tienes razón, Angular puede encajar con Rails para ayudarte a hacer cosas geniales. Pero a medida que esté buscando aplicaciones híbridas, busque Meteor, ya que recientemente ha agregado soporte para aplicaciones híbridas (supongo que funciona con Cordova).

También puede hacer aplicaciones híbridas usando AngularJS como ya mencioné, es solo una biblioteca. La creación de una aplicación híbrida dependerá de la herramienta que vaya a utilizar. Córdoba, Appcelerator, etc.

Y, por supuesto, para comenzar con MeteorJS primero, debe familiarizarse con NodeJS.

En mi humilde opinión, MeterorJS es mucho más destacado y su forma de resolver el problema es diferente con AngularJS.

Con meteorito:
1. Escribe toda la aplicación en una única base de código, tanto el servidor como el cliente. Usted decide qué código ejecutar en cada entorno.

2. Módulos cargados. Existe la fuente confiable para paquetes de JavaScript, recursos y herramientas de Meteor, (atmospherejs)

3. Con Publicar / Suscribir. Puede sincronizar datos del servidor a los clientes automáticamente.

4. Usando atmospherejs .com / meteor / spiderable, puede generar un html compatible para cada robot rastreador.

Si aún no conocía un lenguaje de back-end y desea comenzar lo más rápido posible desarrollando el tipo de sitio web para el que se creó Meteor.JS (sitios muy dinámicos con mucho ‘contenido en vivo’), entonces iría directamente a Meteor.JS, sin ninguna duda.

Ya conoce RoR, lo que hace que la elección sea un poco más difícil. Si necesita el tipo específico de aplicación para la que se creó Meteor.JS, con mucho contenido dinámico y en vivo, entonces usaría Meteor.JS.

Las principales desventajas de Meteor, con mucho, son que es realmente un enfoque todo en nada para el desarrollo de aplicaciones con muy poca flexibilidad, y que hay un alto nivel de ‘magia’ involucrado. Si su aplicación se ajusta a las necesidades muy específicas que Meteor.JS resuelve mejor que la mayoría de los competidores, y está seguro de que sus aplicaciones no cambiarán demasiado, entonces usaría Meteor.JS. Solo date cuenta de que una vez que lo haces, estás atrapado con él.

Si elige AngularJS, puede mantener su backend RoR y hacer una interfaz muy agradable con AngularJS. Obtendrá mucha más flexibilidad con este tipo de solución, y para la mayoría de las aplicaciones, este enfoque funcionará bien. El único momento en que Meteor.JS claramente ganará a AngularJS + RoR es cuando necesita contenido ‘en vivo real’ de una manera fácil.

Sugeriría probar Meteor.JS independientemente. Al principio era escéptico, y todavía lo soy hasta cierto punto, pero es extremadamente fácil de aprender, lo que justifica intentarlo en lugar de solo tomar mi palabra.

No estoy seguro de si se trata necesariamente de una o ambas situaciones: Angular se puede usar con Meteor. Dicho esto, creo que si desea ampliar sus horizontes y aprender una forma completamente diferente de desarrollar aplicaciones web de lo que está acostumbrado, debe comenzar con Meteor.

Si un prototipo de trabajo desplegado en línea después de unas pocas horas, no le conviene, no sé qué lo hará: los primeros 3 meses con meteorjs
No estoy diciendo que Angular sea lento o malo, esas dos opciones tienen ventajas y desventajas, deberías verificar ambas, pero mi apuesta es el Meteor.

Verá, simplemente no puedo decirle que use AngularJS sobre Meteor … Nunca he usado meteorito. Tienes que descubrir cuál es el mejor para ti. Conozco AngularJS y lo he usado para diversión y producción. AngularJS puede manejar perfectamente los rieles y otras plataformas de back-end … también puede construir sus aplicaciones híbridas mientras se ejecuta en dispositivos móviles. Pero digo todo esto porque lo he usado. No he usado meteorito, así que no puedo decir lo mismo.