¿Debo crear una aplicación móvil en tiempo real con Firebase, con mi propio servidor o con ambos?

Trabajo para una compañía de desarrollo móvil a medida llamada IndyApps que se especializa en mensajería instantánea. Nuestros principales componentes de chat usan Firebase y Backendless y tengo más de 3 años de desarrollo en estos proyectos.

En primer lugar, voy a ver Firebase y sus ventajas. Luego, voy a ver cómo debes crear y configurar tu chat.

Firebase, mi propio servidor o ambos?

La principal ventaja de ejecutar su propio servidor es la potencia que le brinda para personalizarlo a su proyecto. Si se diseña correctamente, esta es casi siempre la mejor opción, ya que puede centrarse en áreas específicas y utilizar el servidor para satisfacer sus necesidades.

El problema con esto es el mayor tiempo y costo que esto lleva. Si no puede hacerlo usted mismo, tendrá que pagarle a alguien para que lo haga. Si puede hacerlo usted mismo, le llevará mucho tiempo.

Es por eso que siempre recomiendo usar Firebase, al menos mientras despega su aplicación. Las principales razones están a continuación:

  • Costo: Firebase es gratuito y ofrece una experiencia extremadamente ingeniosa. Esto significa que puede obtener una versión comprobable de su aplicación en funcionamiento en una fracción del tiempo que le llevaría codificarla usted mismo.
  • Fiabilidad: Firebase es muy confiable. Hay una gran cantidad de documentación disponible y también una gran cantidad de soporte de sus desarrolladores y la comunidad. Esto le permite concentrar su tiempo en otros aspectos de la aplicación.
  • Riesgo: las aplicaciones cuestan diez centavos por docena. La posibilidad de que una sola idea de aplicación tenga éxito es muy baja, por lo que cuanto más dinero se invierta en una idea, mayor será el riesgo de esa idea. El uso de Firebase para poner en marcha su idea le ahorra invertir más tiempo y dinero, lo que podría resultar una pérdida si su aplicación no es un éxito.
  • Conocimiento: la programación en PHP es difícil. La mayoría de los desarrolladores que buscan crear una aplicación son competentes en Java u Objective C (+ Swift) pero pueden no tener las habilidades en lenguajes web. La programación con Firebase le permitirá permanecer dentro de su zona de confort de codificación en lugar de tener que aprender un nuevo idioma o pagarle a alguien que ya lo codifica.

Ahora pasamos a ver el desarrollo de una aplicación de chat usando Firebase.

Los problemas con la codificación del chat usted mismo son idénticos a los enumerados sobre:

  • Costo: el desarrollo de un chat normalmente cuesta $ 5- $ 30k y 3–6 meses en tiempo de desarrollo
  • Confiabilidad: a menos que sea un experto en la codificación de chat, puede que no sea confiable
  • Riesgo: ya hay muchos chats en oferta, ¿por qué debería obtener el suyo?
  • Conocimiento: un chat es un proyecto muy complejo y difícil de codificar

Mi respuesta en esta sección es la misma que la anterior: no lo codifique usted mismo, use un proyecto existente.

Por ejemplo, nuestra empresa ha pasado los últimos 4 años desarrollando un chat instantáneo gratuito que utiliza Firebase como back-end. Envía mensajes individuales y grupales en tiempo real y puede enviar mensajes de imagen, texto y ubicación. También tenemos documentación sobre cómo implementar el inicio de sesión personalizado y en las redes sociales. Lo lanzamos de código abierto en una licencia MIT, lo que significa que puede modificarlo por completo como lo desee. Tenemos dos versiones completamente compatibles en iOS y Android.

Las ventajas de usar un chat listo para usar son todos los opuestos de los mencionados anteriormente. Todo el código es gratuito, lo que significa que no tiene riesgo financiero de usarlo. Existe una gran base de conocimiento de los desarrolladores que la codificaron y su documentación. El código es confiable debido a la gran cantidad de usuarios que lo han descargado y hay nuevas características debido a la comunidad que se construye alrededor de él como producto.

En conclusión, cuando se inicia un proyecto, a menudo parece que debe comenzar desde cero para asegurarse de que todo sea perfecto. El problema con esto es que para cuando la aplicación está lista, ha invertido enormes cantidades de tiempo y dinero. Lo más importante al lanzar un proyecto es ponerlo en funcionamiento rápidamente y en manos de los usuarios. Firebase te permitirá hacer esto y probablemente funcionará mejor que cualquier cosa que la mayoría de la gente pueda codificar. Luego, elegir una aplicación de chat bien escrita puede permitirle trabajar en las partes importantes de personalización, lanzamiento y comercialización de su aplicación.

Firebase es ciertamente la opción más fácil para una aplicación de chat, probablemente le tomará la mitad del tiempo, si no menos, crear una aplicación de chat en Firebase frente a otras tecnologías.

Sin embargo, si desea un poco más de control sobre los datos y la personalización, le recomiendo que use Socket.IO y use su propia base de datos.