Soy un desarrollador principal en Meteor, pero me encanta la idea y la implementación de Firebase. Dado que contribuí a la implementación de seguimiento de registros de operaciones de Meteor, aquí hay una comparación de Meteor’s Livequery (Meteor es en realidad una plataforma completa con muchas más características que solo la sincronización de datos en tiempo real) y Firebase.
Firebase:
– ¡Hospedado y administrado por ti! Probablemente la mayor ventaja es tener un desarrollador que esté de guardia para su servicio Firebase 24h / 7d.
– Modelo simple para obtener datos: simplemente obtenga un subárbol de su estructura de datos y eso es todo. Todos sus datos en Firebase se ven como un gran árbol de datos similares a JSON.
– Soporte de consultas / filtrado limitado. Con las últimas incorporaciones (Firebase: ¡ahora con más consultas!), Puede ordenar los resultados y realizar recortes, pero no más que eso.
– Debe aprender un DSL especial para configurar reglas de seguridad: Inicio rápido de seguridad y reglas
– Según tengo entendido, Firebase tiene transacciones limitadas: Firebase.transaction (), esto se puede usar para implementar estrategias de resolución de conflictos más complejas, consulte Firepad – http://www.firepad.io/
Meteorito:
– Meteor se encarga de la propagación de actualizaciones utilizando el oplog de replicación de MongoDB, también otras partes de Meteor se aseguran de que los cambios lleguen adecuadamente a los clientes en función de sus suscripciones
– Las reglas de seguridad se definen en el nivel de su aplicación, usted usa el código JavaScript para devolver “Sí” o “No” a cada solicitud de escritura o lectura
– Necesita administrar su base de datos Mongo: alojarla o usar algún servicio de alojamiento MongoDB; considere que su esquema es eficiente, configure índices en sus colecciones; manejar la concurrencia ya que MongoDB no tiene transacciones
– Meteor puede servirle cualquier consulta válida de MongoDB con actualizaciones en vivo. Solo las consultas geoespaciales tienen soporte limitado, prácticamente cualquier otra consulta es compatible de forma inmediata. Puede filtrar, ordenar, limitar y proyectar sus datos.
– Dado que Meteor solo copia el modelo de documento de MongoDB, la estrategia de escala y la estructura de la aplicación serían muy diferentes de una aplicación escrita para Firebase.
– Meteor es de código abierto. Si tuviera problemas de escala realmente malos, simplemente continuaría y bifurcaría la implementación de Livequery de Meteor y la optimizaría para mi aplicación. Probablemente será más barato que contratar a un equipo de ingenieros que vuelvan a implementar un sistema similar desde cero.
- ¿Qué es mejor desde una perspectiva de seguridad de la información: Office 365 o Google Apps?
- ¿Quiénes son los mejores proveedores de listas de usuarios de CRM basados en la nube en los Estados Unidos?
- ¿Qué es la computación en la nube y cómo ayuda SAP Cloud for Customer?
- ¿Qué va a matar a Microsoft Office (si es que lo hace)?
- Cómo cambiar mi carrera a la computación en la nube del soporte de Citrix Xendektop
¿Usaría Firebase con Meteor? Probablemente no para mi prototipo y no para mi aplicación inicial. Creo que el modelo de Firebase es más limitante cuando el modelo de documento de MongoDB está aquí, ya incorporado. Usaría Firebase en casos en los que pueda demostrar que no vale la pena optimizar las consultas en vivo de Meteor y necesito manejar más conexiones en este momento (y obtuve suficiente dinero para pagar cada conexión).
Pero ninguna de mis aplicaciones tiene más de 10-100 usuarios (son feos como el infierno), por lo que ese día está muy por delante.
PD Recuerde que al final del día, tanto Meteor como Firebase almacenan datos persistentes en MongoDB (o TokuMX, que es una bifurcación de MongoDB con índices más eficientes y un mejor control de concurrencia).