¿Cuáles son las desventajas de usar Ruby on Rails como back-end para aplicaciones de Android / iOS?

– No existe un vínculo real entre el lenguaje / marco que usa en el lado del servidor y su aplicación cliente.

– Rails, especialmente si ya lo aprendiste, es una muy buena opción y no tendrás que hacer ningún desarrollo específico del lado del servidor en otro idioma.

– Luego pasará a los rieles habituales beneficio / desventaja, principalmente:

* marco limpio
* muchas cosas ya están aquí (mencionaste la autenticación)
* comunidad activa
* rápido de desarrollar
* no es el más rápido (pero seguro, no está tan mal), pero en un gran volumen, el marco no es el mayor cuello de botella (generalmente es la base de datos, pero depende del tipo de su aplicación)

He hecho muchas aplicaciones móviles, con el lado del servidor en Java, Php, Rails, Sinatra, … pero ahora Rails es mi opción preferida, especialmente debido a la muy buena relación tiempo / resultado

Hay muchas ventajas, pero el inconveniente es el rendimiento.

Es fácil obtener alta latencia y baja en todas las aplicaciones de Rails. Los desarrolladores con poca experiencia con el marco cargarán muchos modelos, realizarán muchos cálculos costosos y no sabrán cómo optimizar las consultas. También es muy fácil agregar gemas de Ruby lentas y no probadas. Otros principiantes no pensarán en el almacenamiento en caché.

Las aplicaciones de mensajería o aplicaciones con big data tendrán especialmente un bajo rendimiento. Whatsapp, Snapchat, Twitter son todas las aplicaciones que deberían beneficiarse de * no * tener un backend Rails.

Sin embargo, en general, con un buen diseño, un backend de Rails puede tener un gran rendimiento y no será un cuello de botella en su arquitectura.

No existe una desventaja real al usar Rails para respaldar una aplicación de Android / iOS.

Pero es posible que desee utilizar Grape. Es un marco de rubí basado en bastidor que es liviano y está diseñado para crear back-end API.

La aplicación web normal en Rails utilizará muchas vistas, diseños, sesiones y vistas de ayuda, que no necesita en su aplicación. Por lo tanto, Rails podría ser demasiado para su aplicación. Aunque esto podría no ser una desventaja si estás muy familiarizado con Rails.