Aparte de REST, puede usar:
- WebSockets o Socket.IO, que es bueno para la comunicación en tiempo real entre una aplicación web y un back-end. Algunas de las API (web) a continuación probablemente usen esto debajo de las cubiertas.
- GraphQL [1], que es bueno para simplificar su API. Estaba escuchando sobre GraphCool como una manera fácil de configurar esto. [2]
- API patentadas como Firebase. Toda la API y el back-end de la base de datos como servicio.
- Horizon [3], una API de código abierto en tiempo real análoga a la parte de la base de datos de Firebase.
- Para una aplicación móvil, una cola de mensajes como ZeroMQ puede brindarle un mayor rendimiento que un protocolo estrictamente basado en TCP. Dependiendo de sus necesidades, también podría ofrecer mejores patrones de acceso.
Esas son las alternativas más populares que se me ocurren.
Notas al pie
- Aprendo ambos, front y back end del desarrollo web. ¿Dónde puedo encontrar algunos proyectos para practicar?
- ¿Las interrupciones no serían cosa del pasado si todos los servicios de back-end se construyeran en sistemas infinitamente escalables como sin servidor y NoSQL?
- ¿Qué es el backend y la base de datos?
- Cómo detectar que algo se está cargando en segundo plano (ya sea frontend o backend) y mostrar el ícono de carga
- ¿Cómo debo desarrollar un backend de una aplicación de Android?
[1] GraphQL: un lenguaje de consulta para API.
[2] GraphQL Backend como servicio
[3] el backend JavaScript de código abierto en tiempo real