Cuando hablamos de la pila de tecnología utilizada por las aplicaciones de chat móvil, es importante hablar sobre el cliente y el servidor por separado.
Servidor
Hay varias tecnologías de servidor disponibles para crear una aplicación de chat.
- ¿Por qué Apple necesita el iPhone SE?
- ¿Cuáles son las próximas tecnologías en India para 2020?
- ¿Cuáles son los gadgets más útiles en tu vida?
- Si tuviéramos la tecnología, ¿cómo modificaríamos a las personas para manejar la aceleración de alta g?
- ¿Cómo se crean comúnmente las aplicaciones de chat en Android?
Jabber / XMPP
XMPP es un protocolo de mensajería que se desarrolló a finales de los 90. Funciona con muchas aplicaciones de mensajería populares, como WhatsApp, Skype y Facebook Messenger.
Hay varios servidores XMPP de código abierto populares:
- ejabberd
- Prosodia
- Abran fuego
Backend como servicio
Más recientemente, los desarrolladores han comenzado a usar backends en tiempo real para crear aplicaciones móviles. Esto es bueno porque reduce la complejidad tecnológica del proyecto y permite construir un MVP más rápidamente. Esto es útil para las startups que quieren moverse rápidamente.
Algunos servicios de backend populares son:
- Firebase
- PubNub
- Arribista
- Capa
- Quickblox
Puede ver una comparación de precios de estos servicios aquí.
Pila personalizada
También sería posible construir una pila de servidor personalizada usando WebSockets. Un ejemplo podría ser el uso de Symfony con el paquete WebSocket.
Cliente
El cliente se escribirá utilizando Java en Android Studio o utilizando un sistema de desarrollo multiplataforma como Ionic, PhoneGap, Titanium, etc. En este último caso, la aplicación generalmente se escribe en JavaScript y luego se ejecuta en una vista web.
XMPP
Para construir un cliente XMPP, recomendaría usar la biblioteca de código abierto Smack.
Backend como servicio
Cada servicio tiene su propio SDK que puede usarse para acceder a sus servidores. Puede ver un ejemplo de código abierto completo de un cliente de mensajería que usa Firebase en Github.
WebSockets
Para crear una aplicación de Android basada en WebSockets, recomendaría Android WebSockets.