Mi objetivo es crear una aplicación Flutter de calendario, que ofrezca autenticación de usuario. Como soy un principiante total en lo que respecta a la programación de back-end, pensé en usar Firebase. Sin embargo, mientras me informaba al respecto, leí que usar Firebase tiene muchas desventajas como:
Por lo tanto, tengo la intención de aprender más sobre el desarrollo de back-end REAL y me topé con express, MongoDB y node.js , que fue muy interesante, especialmente para mi proyecto. Sin embargo, mi problema es que tendría que alojar mi API de descanso con, por ejemplo, Heroku , que es demasiado caro para mí, incluido el precio de MongoDB. Además, tendría que construir mi propio sistema de autenticación con JWT, del cual no estoy seguro si puede ser tan seguro como Firebase de Google. :/
Ahora mi pregunta es: ¿Piensan que Firebase es suficiente para mi proyecto, o es más inteligente invertir en MongoDB y Heroku? ¡Otros enfoques de back-end obviamente también son bienvenidos! :)
Simplemente vuelva a leer su pregunta y, si todo lo que necesita es autorización, simplemente usaría Firebase. Funciona muy bien con Flutter y es relativamente fácil de configurar, es seguro y siempre gratuito a menos que use la autorización del teléfono.
Los precios de Firebase no serán un problema hasta que tenga muchos usuarios. Independientemente de las limitaciones de consulta a las que se refiera, pueden o no ser relevantes para lo que sea que su aplicación de Calendario necesite hacer. Mi conjetura es que Firebase probablemente esté totalmente bien para su proyecto a menos que anticipe muchos usuarios con muchas consultas. También estará listo y funcionando mucho más rápido que escribiendo su propio back-end.
Node/Mongo es una gran combinación y con el nivel gratuito de alojamiento de Mongo Atlas obtienes aproximadamente 500 MB de almacenamiento gratuito. También hay un nivel gratuito en Heroku que alojará su aplicación Node para que pueda alojar su propio back-end de forma gratuita hasta cierto punto.
Es posible que siguiendo esta ruta pueda llegar bastante lejos antes de quedarse sin almacenamiento, suponiendo que no está cargando archivos grandes y que todos sus datos son datos json/string. Y sería una buena experiencia de aprendizaje si está interesado en el desarrollo de back-end. Siguiendo las secciones Mongo y Node del curso App Brewery Web Dev, tuve una aplicación Express/Mongo básica alojada en Heroku en unas pocas horas de seguimiento de los videos sin ninguna experiencia de back-end en ese momento. Obviamente, cualquier aplicación real de Node requeriría más tiempo de desarrollo.
El otro beneficio de seguir ese camino es que puedes personalizar tus respuestas exactamente para lo que necesitas y simplificar las cosas en el lado de Flutter.