¿Cuándo alguien necesitaría usar una pila completa como RAILs en lugar de usar un front-end como Angular con algo como Firebase?

Desarrollador individual. Use AngularFire cuando esté iterando con frecuencia un prototipo funcional (algunos descartables, otros reutilizables para producción). Meteor es una opción aún mejor en Rapid Prototyping si desea centrarse en el front-end de la aplicación, la lógica empresarial más que el flujo de trabajo del desarrollador, el administrador de back-end. Enfoque primario en ingeniería front-end.

Equipo de desarrollo. MEAN (Mongo y Express) requerirá que primero haga más back-end, arquitectura, esquema, automatización del desarrollador en la pizarra, antes de obtener algo funcional para crear un prototipo. Enfoque equilibrado en ingeniería front-end + back-end.

Respuesta detallada aquí: ¿Cuáles son los casos de uso comunes y / o los pros y los contras de la pila MEAN (Mongo, Express, Angular, Node), AngularFire (Angular, Firebase) y Meteor? ¿Cuándo quieres usar uno sobre los demás?

Realmente se necesita una visión a largo plazo para responder. Depende de si se le ha asignado el tiempo y / o fondos para administrar la pila MEAN a largo plazo. Como mínimo, Firebase es muy bueno como prueba de concepto. Si está entregando una aplicación a un cliente que no es capaz de administrar un backend de Mongo, Firebase u otro BAAS es una buena opción.

Después de trabajar con Firebase, Appery, Kinvey, Backendless, Telerik y Google App Engine, así como con nuestra propia pila MEAN en AWS, creo que Firebase es rápido, simple, especialmente para desarrolladores con competencia en Angularjs.

Puedo pasar aplicaciones a clientes y saber que se escalarán sin problemas a gran escala sin intervención o explosión de costos.

Hablando como alguien que usa Firebase ampliamente, diría que todavía no está listo como un almacén de documentos completo. Lo que hace realmente bien es administrar eventos y persistirlos, por lo que si desea crear una aplicación de chat o tal vez una aplicación de documentos de colaboración, y necesita notificaciones o bondad general en tiempo real (sin piratear Socket.IO / Faye) use Firebase.

Si necesita algo un poco más flexible, creo que vale la pena sentarse y definir un esquema significativo usando Mongoose (con Node.js) y obtener las ventajas integradas que ofrece una tienda NoSQL como esta.