Firebase es una base de datos en tiempo real y la API REST es un protocolo, por lo que es difícil de comparar sin el contexto completo de sus requisitos (base de datos / servidor / arquitectura de software). Sin embargo, haré todo lo posible para enumerar los pros y los contras entre estas 2 tecnologías basadas en mi propia experiencia:
Firebase:
- Pros:
- Fácil de configurar, no es necesario alojar un servidor. En su caso, puede crear una aplicación de Android y un sitio web simple para que el administrador cargue los datos en Firebase.
- Datos en tiempo real (uso esto para uno de mis juegos donde necesitamos colaboración en tiempo real)
- Bueno para MVP o prototipo de software
- Contras:
- Estás arreglado con Firebase. En caso de que necesite cambiar la lógica para consultar datos, debe actualizar su aplicación.
- Firebase usando NoSQL, si luego descubrió que necesita cambiar a la relación DB, los datos de migración y la corrección de la lógica serán un infierno.
API REST
- Si desarrollo una aplicación de Android, ¿debo responder ante el gobierno o cualquier otra autoridad sobre cómo uso los datos proporcionados por los usuarios?
- Tengo un Micromax Bolt A58 con muy poca memoria interna. Quiero aumentar la memoria con mi tarjeta SD de 2 GB. Cuando instalo aplicaciones de App Store, dice que la memoria es insuficiente. ¿Cómo lo evito y combino la memoria interna y la tarjeta SD?
- Quiero desarrollar una aplicación de Android. ¿Qué tecnología debo usar?
- Sé cosas básicas de Android y creé 5-6 aplicaciones fáciles, ¿cómo puedo aprender las cosas difíciles?
- Tengo un sitio móvil ¿Cómo puedo usarlo para crear una aplicación web?
- Pros:
- Usted es flexible para elegir su idioma del lado del servidor (NodeJS, Django, Java, etc.) y la tecnología de la base de datos (NoSQL, base de datos relacional)
- Su negocio y la capa de presentación están separados, es decir, puede crear fácilmente una nueva aplicación IOS o aplicación web
- Contras:
- Necesita alojar su servidor en algún lugar (heroku / AWS / Azure / etc.) y también costará dinero
- Necesita más tiempo / esfuerzo de desarrollo
- Necesita más experiencia en desarrollo de software
En conclusión, todo se reduce a su nivel de experiencia, tiempo de comercialización y, lo que es más importante, cuál es el objetivo de su aplicación.
Si desea hacer un mvp de su aplicación y no está seguro de si será un éxito, le recomiendo que use Firebase . Esa es la forma más rápida de validar su idea e incluso si falla, fallará rápidamente.
Si está bastante seguro del potencial de su aplicación, debe elegir REST API . Ahorrará tiempo y dinero a largo plazo.