¿Cuáles son algunas de las ventajas o desventajas de usar Google Firebase?

A riesgo de sonar un poco desdeñoso, la pregunta que se hace (“¿Cuáles son algunas de las ventajas o desventajas de usar Google Firebase“) no coincide totalmente con la descripción siguiente.

Al comenzar un nuevo proyecto, uno solo necesita sopesar las capacidades y características de una plataforma de back-end dada para determinar si es una coincidencia para apoyar el proyecto. Desde mi punto de vista, si las capacidades de un marco o back-end satisfacen los requisitos del proyecto, entonces es una coincidencia potencial para el proyecto.

No todos los backends son apropiados para todos los proyectos. Además, no todos los backends pueden ofrecer las mismas características, simplemente porque fueron diseñados para admitir diferentes casos de uso (¡y consideraciones de precios!).

Al considerar Firebase como una opción como back-end para un proyecto, se debe considerar lo siguiente:

  1. Firebase es una oferta móvil primero. Fue diseñado para aplicaciones móviles (Android, iOS y web donde sea razonable), y favorece proyectos con un enfoque en el uso móvil.
  2. Firebase otorga una prima a la analítica móvil (para iOS y Android). Firebase Analytics se entrelaza en toda la plataforma con gran efecto.
  3. Firebase Realtime Database tiene sus raíces en la entrega en tiempo real de datos estructurados usando convenciones NOSQL. Si sus datos y las consultas en su contra pueden modelarse de manera NOSQL, entonces es una buena opción. Si su interfaz de usuario se beneficia de que los cambios en los datos subyacentes se reflejen de inmediato, entonces es una buena opción. Sin embargo, si necesita que se extraigan datos verdaderamente relacionales con consultas SQL relacionales tradicionales, no es una buena opción. Muchas veces, los datos relacionales se pueden modelar de una manera NOSQL, y solo toma un poco de esfuerzo aprender cómo hacerlo.
  4. Firebase actualmente tiene 15 características, y no es una propuesta de todo o nada. Puede elegir entre las características que son apropiadas para su aplicación. Simplemente use los que mejor se adapten a sus casos de uso. No hay obligación de usar o pagar por nada que no desee o necesite. Puede usar muchas de las funciones de forma gratuita, si eso se adapta a su aplicación.

Si está buscando usar Firebase como un back-end para su aplicación, y no está seguro si puede satisfacer sus necesidades, comuníquese con nosotros a través de cualquiera de nuestros canales de soporte. Firebase se mejora continuamente, y si hay algo que no haga que desee, queremos saberlo.

Hola, ¡qué gran lunes para comenzar tu día!

Pregunta interesante sobre un tema en auge relacionado con Firebase. Me alegra que hayas preguntado 🙂

Aquí hay un artículo que publiqué recientemente sobre el tema Firebase vs Ruby: ¿Qué es mejor para el backend en el desarrollo de aplicaciones móviles? – Mind Studios

Aparentemente, Firebase, como cada nueva tecnología, tiene los profesionales expertos en tecnología y los inconvenientes poco atractivos que los que odian la novación van a rozar la cara de la red mundial.

Hablando de Firebase, hay algunas cosas buenas al respecto:

  • lleva menos tiempo desarrollarlo, ya que Firebase es una solución preparada
  • Firebase es una sabia elección para soluciones en tiempo real: ya tiene soluciones codificadas para todas las plataformas (iOS, Android, web)
  • Firebase es una solución altamente segura: como se desarrolla en la plataforma de Google con la infraestructura de Google, por lo que todos los datos que contiene están protegidos

Las cosas malas de Firebase son las siguientes:

Una vez que elija Firebase como la pila principal de back-end, hay algunos puntos que debe tener en cuenta. No son las desventajas de usar firebase, solo cosas que debes saber. Con Firebase, usted es libre de elegir el plan de precios, pero el adecuado para las aplicaciones en tiempo real es el de “pago por uso”. Con este plan, solo paga por los recursos que consume, por lo que cuantos más usuarios obtenga su aplicación, más costos de mantenimiento de backend le costarán.

Muchas personas consideran que esto es una gran ventaja, ya que muchos usuarios de su producto son fantásticos, ¿no? Sin embargo, al principio es difícil monetizarlos a todos: primero debe hacer que la gente ame su producto. Y en el caso de Firebase, podrá gastar dinero en todos sus usuarios gratuitos. Entonces, si tiene la intención de que miles de personas usen su producto, entonces Firebase podría ser una solución inútil.

Se rumorea que Firebase también tiene costos ocultos, cuando después de un rápido crecimiento de usuario o uso, se le puede cobrar sin previo aviso; así que si no te preocupa que te carguen en silencio, entonces hazlo.

Es por eso que un backend escrito por Rubyw es una opción decente para todos, teniendo en cuenta que sus ventajas son + – iguales.

Lea más sobre las ventajas y desventajas de Firebase en nuestro blog Firebase vs Ruby: ¿Qué es mejor para el backend en el desarrollo de aplicaciones móviles? – Mind Studios

Hola,

Me gustaría responder a esto compartiendo una experiencia de la vida real. Creamos una plataforma IoT en mi empresa llamada 700 Dollar Startups. Permite a los usuarios controlar los electrodomésticos usando su teléfono inteligente. La plataforma también recopila parámetros de temperatura y aire en su hogar.

Nos decidimos a usar la siguiente pila:

  • Firebase – para backend
  • Angular JS – FrontEnd
  • NodeJS: para ejecutar código IoT en frambuesa
  • Ionic: para la aplicación móvil

A continuación se muestra nuestra arquitectura de plataforma.

Estas son las ventajas basadas en nuestra experiencia:

  1. Enlace de tres vías : Firebase API resuelve el problema de la condición de subida en la base de datos. Un navegador cliente, un back-office y un consumidor móvil pueden actualizar los datos simultáneamente sin el problema de la sincronización. Tan pronto como se actualizan, agregan, insertan o eliminan los datos, todas las actualizaciones se envían automáticamente al cliente a través de la API.
  2. Velocidad de desarrollo: la base de datos de Google Firebase es una base de datos NoSQL con conectores y envoltorios API listos para usar para fines de consulta. Como resultado, en lugar de crear una API REST como la forma tradicional de conectar un cliente ligero a una base de datos, con Firebase, una empresa puede simplemente usar su SDK para el mismo propósito. Como resultado, las empresas podrían reducir su tiempo de desarrollo eliminando el componente de desarrollo de API. Menos alcance, significa menos costo de desarrollo también.
  3. Actualización en tiempo real : las viejas formas de hacer las cosas es que un cliente conectado a la base de datos necesita una actualización por lotes para obtener nuevos conjuntos de datos. Es una arquitectura ineficiente, imagine que un programa tiene que leer 1 millón de registros cada quince (15) minutos con o sin actualización. Con la base de datos de Google Firebase, un cliente puede activarse automáticamente para actualizarse a través de la devolución de llamada tan pronto como se realice una actualización en la base de datos. Con esta tecnología, los desarrolladores están seguros de obtener solo un nuevo conjunto de datos según sea necesario. Aquí está la demostración real de la actualización de la base de datos en tiempo real (Ver video a continuación). Tan pronto como se modifican los datos en la base de datos, el estado del LED conectado a los dispositivos Raspberry cambia instantáneamente el estado.
  4. Gratis: los desarrolladores y propietarios de negocios pueden crear dos proyectos en Firebase de forma gratuita. Esto significa que la organización no necesita comprar una licencia premium durante la etapa de I + D. Brinda a los desarrolladores y tomadores de decisiones suficiente tiempo para aprender y evaluar la tecnología.
  5. Autenticación : viene con un módulo de autenticación incorporado. Admite gmail, Facebook, Twitter y soporte básico de inicio de sesión con nombre de usuario y contraseña. Integrar este módulo en su aplicación es fácil a través de su SDK.
  6. Rich API Document : Firebase SDK está bien documentado y tiene muchos ejemplos en la web. En nuestro caso, pudimos probar el SDK para NodeJS. Otras plataformas compatibles son IOS, Android, Java y JS.

En cuanto a la desventaja

  1. Sin explorador de datos : este problema es más para los desarrolladores. Firebase Database no proporciona una herramienta en línea que permita a los desarrolladores buscar datos dentro de un nodo. Tiene un árbol manual como el explorador de datos, pero se vuelve complicado o difícil de atravesar a medida que aumenta el conjunto de datos.
  2. Sin autorización integrada : uno de los puntos fuertes de Firebase es su módulo de autenticación. Sin embargo; podría haber sido mejor si se envía con un marco pre-creado para la autorización. Hasta la fecha, los desarrolladores tienen que proteger los datos y formularios codificando manualmente los roles para usuarios específicos.

La respuesta de Doug Stevenson a esta pregunta hace justicia a por qué debería usar Firebase, por lo que no hay necesidad de repetir eso.

Al responder la pregunta de por qué es posible que no desee usar Firebase, aquí hay una serie de respuestas:

  1. Aunque, ha sido el caso de que Firebase definitivamente no es su mejor opción cuando se trabaja con consultas similares a SQL, creo que hemos pasado eso con esto: Consultas, Parte 1: Consultas SQL comunes convertidas para Firebase.
  2. Firebase tampoco es ideal si su aplicación requiere un procesamiento continuo en el lado del servidor (especialmente cuando los datos deben analizarse antes de que se muestre algo a los usuarios en tiempo real en función del resultado). Esto podría reducir en gran medida el rendimiento de su aplicación.
  3. Firebase definitivamente no admite transacciones.

Firebase ha evolucionado a partir de Envolve, una startup que ofreció API para permitir la integración de la funcionalidad de chat en línea en aplicaciones web. Sin embargo, en unos años se centraron en crear y se utilizaron para pasar datos de aplicaciones que en realidad no eran un mensaje de chat. Esto los llevó a comenzar a trabajar en una arquitectura en tiempo real que podría alimentar esta necesidad y, por lo tanto, nació Firebase.

Ventajas: una herramienta integral para desarrollar e implementar aplicaciones móviles más rápido y escalarlas según los requisitos.

Desventajas: No recomendado para integrar chat en una aplicación.
Tener una comprensión completa aquí.