¿Cuáles son las desventajas de usar Firebase como back-end para aplicaciones móviles?

Firebase es extremadamente flexible y potente. Desarrollamos una aplicación de mensajería completa para iOS y Android utilizando únicamente Firebase. Sin embargo, como con cualquier servicio, tiene limitaciones.

Firebase usa una base de datos sin SQL

Aunque esto tiene ventajas en términos de escala, tiene desventajas si administra grandes cantidades de datos altamente estructurados. Con una base de datos relacional regular, puede escribir consultas potentes en SQL para obtener rápidamente los datos que busca, no hay equivalente con Firebase. Además, puede usar un ORM para simplificar aún más el manejo de datos.

Firebase es una solución alojada

Cuando se usa una solución alojada, hay beneficios como no tener que mantener sus propios servidores o gastar esfuerzo en escalar la aplicación con un clúster de servidores. Sin embargo, también tiene limitaciones. No tiene acceso de root a la ubicación donde se almacenan sus datos. No puede comparar qué proveedor de alojamiento utilizar. Es más difícil migrar a un servicio diferente. Si se cierra la empresa (como Parse), puede estar en problemas.

Firebase está optimizado para aplicaciones en tiempo real

Si está creando una aplicación en tiempo real, ¡es genial! Pero si no lo está, entonces puede haber mejores opciones disponibles. ParseServer o un backend personalizado probablemente sería una mejor opción para construir una red social como Facebook.

Pro:

1. Si su aplicación funciona con una base de datos centralizada y es actualizada por muchos

usuarios, entonces es más que capaz de manejar los datos en tiempo real

actualizaciones entre dispositivos.

2. Almacenado en la nube tan fácilmente disponible en todas partes.

3. API multiplataforma (si está utilizando esta base de datos con una aplicación)

4. Ellos alojan los datos. -Significando que si está almacenando una gran cantidad de datos, ¡no tiene que preocuparse por el hardware!

Con :

1. A menos que su aplicación ejecute una base de datos centralizada actualizada por una gran cantidad de usuarios, es una exageración importante.

2. El formato de almacenamiento es completamente diferente al de SQL (Firebase usa JSON) para que no pueda migrar tan fácilmente.

3. Las herramientas de informes no estarán cerca de las de SQL estándar.

4. Costos! -¡Limitado a 50 conexiones y 100 mb de almacenamiento!

5. No aloja los datos, Firebase sí. Y dependiendo del servidor que te pongan, ver el tiempo de actividad parece haber muchas interrupciones últimamente.

Lea más en: ¿Cuáles son las ventajas y desventajas de Firebase para una base de datos? – Sistema de preguntas frecuentes

Te deseo el brillante miércoles que tengas 🙂

Un millón de gracias por este tema de discusión. Espero poder contribuir con algunas ideas nuevas.

El nuevo artículo que publiqué ayer es un resumen de los pros y los contras de Firebase : Firebase vs Ruby: ¿Qué es mejor para el backend en el desarrollo de aplicaciones móviles? – Mind Studios

Entonces, la respuesta básica sería: Firebase, como todo, toma todo tipo. Sin embargo, hay otra opción: puede usar el mismo viejo y conocido backend Ruby, puede ser un poco más confiable.

Firebase, por supuesto, tiene varias ventajas.

  • puede llevar menos tiempo desarrollarlo como una solución preparada
  • es una buena opción para la comunicación en tiempo real
  • es adoptado y cubierto por Google Inc, por lo que la seguridad del servicio es bastante alta

Sin embargo, la solución Firebase puede arrojar algo de agua fría en su proyecto futuro.

  • es una base de datos NoSQL, no la base de relaciones tradicional a la que te acostumbraste a integrar
  • tiene varias limitaciones de uso (como todas las soluciones ya preparadas)

Firebase como back-end para el desarrollo de aplicaciones móviles es adecuado para usted si necesita uno de los siguientes:

  • Una pequeña aplicación en tiempo real con funciones simples.
  • Una aplicación simple donde necesitas almacenar cargas y cargas
  • Una aplicación de prueba de concepto que luego será completamente renovada

Sin embargo, si está buscando crear un sistema móvil complejo, con algoritmos y características perplejos, el backend de la aplicación móvil Ruby on Rails también es una gran opción. Además, si una aplicación no tiene una estructura clara, en la base de datos no relacional, que indudablemente es el backend de la nube de Firebase, no puede seleccionar adecuadamente los datos. Las lógicas comerciales creadas en Firebase comúnmente se colocan en la base; debido a esto, puede aparecer un mish-mash cuando la lógica de la aplicación está un poco perpleja. Y no olvidemos que se le cobra cada vez que obtiene un nuevo usuario, incluso sin informarle: su dinero podría ser simplemente transferido una mañana cuando se despierte.

Por favor, no te vayas 🙂 – continúa leyendo en nuestro blog Firebase vs Ruby: ¿Qué es mejor para el backend en el desarrollo de aplicaciones móviles? – Mind Studios

Creo que Firebase sería una buena opción para esto, y avanzaría mucho más rápido utilizando el servicio que proporciona, en lugar de aprender todo sobre la implementación y el mantenimiento de su propio servicio.

La posible desventaja sería si Google cerrara Firebase; pero no creo que esto sea probable. La gente se quemó cuando Facebook cerró Parse, pero Firebase es una tecnología central para Google y está dentro de su oferta central de Cloud.

Si tiene tiempo, puede comenzar creando prototipos de la aplicación usando Firebase; y luego intente reescribir la aplicación utilizando su propio servicio de fondo. Luego, podría comparar la complejidad relativa y el costo de las dos opciones.

Hay muchas cosas que puede hacer usando solo Firebase como su backend móvil como servicio, donde solo escribe su propio código Frontend.

De la breve descripción que dio de los requisitos de su aplicación, eso puede ser suficiente para sus necesidades, en cuyo caso podría ser una buena opción.

Sin embargo, es posible que su aplicación necesite implementar funcionalidades que requieran su propio código de fondo. Por ejemplo, supongamos que desea integrarse con varios otros servicios; es posible que deba usar API de back-end.

Un buen compromiso (si no desea invertir en su propio backend de node.js), podría ser Stamplay, que podría usar para que su aplicación interactúe con una gran cantidad de servicios populares (incluido Firebase), sin que tenga para escribir cualquier código de fondo usted mismo.

Las siguientes son algunas de las desventajas que se me ocurren:

  • Capacidades de consulta limitadas debido al modelo de flujo de datos de Firebase. Uno de los principales desafíos será la organización de los datos en la base de datos. Hoy las consultas de la base de datos de Firebase son limitadas. Ciertas opciones de consulta no se pueden combinar. Debido a esto, tendrá que elegir, ya sea ordenar los documentos por fecha o filtrarlos con la consulta de búsqueda del usuario en el lado de la base de datos y realizar la otra acción en el lado del cliente.
  • Los modelos de datos relacionales tradicionales no son aplicables a NoSQL. Por lo tanto, sus chops de SQL no se transferirán.
  • Sin instalación in situ.
  • Firebase está muy orientado a la sincronización en tiempo real. La base de datos se actualiza automáticamente cuando escribe un campo de texto. Si alguien más escribe en un campo de texto, su pantalla se ajusta. Los ejemplos de documentación primaria y la integración angular parecerán centrados en esto. Sin embargo, puede que no sea lo que estás buscando. Es posible que se sienta más cómodo escribiendo consultas y utilizando un controlador de eventos para actualizar la base de datos o recibir la actualización de otra persona. Pero esto es solo una cuestión de ajustar un poco.
  • La base de datos es sorprendentemente limitada.
  • Sin un back-end, admitir Web, iOS y Android significa reescribir la lógica empresarial y la transformación de datos en numerosas ocasiones
  • La integración angular solo ayuda si está buscando widgets HTML vinculados directamente a las actualizaciones de la base de datos, sin escuchas ni controladores intermedios.
  • Firebase solo puede ordenar ascendente, no descendente.

Por favor, consulte el siguiente artículo para la comparación de Firebase.

Firebase vs. Servidor Parse | blog back4app

La principal desventaja que encontré con Firebase es que no puede consultar más de una clave a la vez.

Usted nunca podría filtrar sus datos, esto es un gran dolor en esta etapa.