¿Cuál sería un marco de back-end óptimo para una aplicación de Android con funcionalidad de chat en tiempo real?

Eso depende de si desea una aplicación de chat en tiempo real con una base de datos de mensajes local que use una conexión directa Sockets entre un cliente y un servidor o un chat en tiempo real que use una base de datos en la nube en tiempo real como Firebase para enviar y recibir los datos.

Puedes elegir entre:

Aplicación de chat en tiempo real con sockets:

Cómo funciona:

  • La aplicación establece la conexión entre un cliente y un servidor.
  • La aplicación envía y recibe mensajes y almacena conversaciones de chat en una base de datos local (interna).

Donde empezar:

  • Ejemplo de socket de Android
  • Cliente-servidor Android con sockets: implementación del cliente

Aplicación de chat en tiempo real con Firebase y otros proveedores:

Cómo funciona:

  • La aplicación crea una fila en la base de datos por cada 2 usuarios más o menos.
  • La aplicación envía y recibe mensajes hacia y desde la base de datos.

Donde empezar:

  • Cómo crear una aplicación de chat de Android usando Firebase
  • Firebase Realtime Database | Firebase

Nota: Esta es la mejor manera de crear una aplicación de chat en tiempo real porque no tiene que preocuparse por otros problemas de sockets y excepciones de E / S que provienen del almacenamiento en la base de datos interna.