¿Cuál es la mejor manera de sondear un servidor para contenido en vivo desde dispositivos móviles?

Primero, intente implementar notificaciones Push. Las 3 plataformas principales que usted indica tienen soporte para mensajes push iniciados por el servidor que se pueden usar para indicarle a un cliente que busque nuevos contenidos. En algunos casos, pueden entregar el nuevo contenido en la carga útil de inserción. Este solo es el mayor impulso de escalabilidad para el que puede diseñar, ya que esto reduce las encuestas que no devolverán nuevos datos.

Si por alguna razón no puede implementar las notificaciones push, intente agrupar sus actualizaciones de contenido de cada cliente de modo que resulten en la menor cantidad de visitas a la red. Evite que sus clientes accedan a encuestas sincronizadas (por ejemplo, a medianoche o a las 8 a. M.), Ya que esto aumentará su carga máxima de conexión en el servidor.

Intente evitar el sondeo cuando el dispositivo esté inactivo, especialmente si una encuesta posterior anulará los resultados de la encuesta anterior.

Detecta si un dispositivo está conectado a un cargador de corriente; entonces haz tu trabajo pesado. Del mismo modo, detecte si un dispositivo está conectado a WiFi y prefiera ese camino sobre el celular.

Es posible que desee comprimir los datos, pero debe probar con su conjunto de datos, ya que a veces puede ser una sacudida entre la CPU / batería requerida para descomprimir en los dispositivos frente al ancho de banda y el ahorro de energía de la radio a través del cable. Use JSON vs. XML si eso resulta en una transferencia de datos menos habladora. Intente implementar un caché de contenido del lado del cliente para el contenido que no cambia con frecuencia.

Intente realizar la mayor cantidad de masajes de datos en el servidor, incluidas cosas como la clasificación de resultados. Esto es más barato en el servidor que en el dispositivo móvil. Esto generalmente hace tropezar a los desarrolladores web que se están moviendo al desarrollo móvil.

Implemente el soporte de paginación en el servidor para solicitudes de contenido que tengan múltiples resultados (por ejemplo, devuelva los primeros 20 resultados y vea si el usuario quiere más después).

No ha dicho nada sobre la naturaleza de la aplicación, pero si hay suficientes “tipos” diferentes de datos involucrados, realice un seguimiento de qué tipos de datos nunca ha visto cada cliente y evite actualizarlos hasta la primera vez que se solicitan (y dejan de actualizar las que el cliente ya no ve).

Además, puede ser una ventaja obtener información sobre las frecuencias o intervalos de actualización: si un elemento se acaba de actualizar, ¿sabe que pasarán al menos xx segundos antes de que se actualice nuevamente?

More Interesting

Cómo obtener más descargas de aplicaciones de Android en el primer mes

¿Cuáles son algunas herramientas importantes utilizadas por los desarrolladores de Android Pro?

¿Qué tutoriales debo mirar para desarrollar una aplicación de Android y empiezo desde cero conocimientos de programación?

¿Cómo manejo todos los datos de usuario y creo feeds de usuarios para crear una aplicación de red social que sea un clon de Android e Instagram?

¿Todas las características de Java están disponibles en Kotlin para Android?

¿Existe un mercado similar a WordPress para aplicaciones de Android donde puede comprar una aplicación y personalizarla?

¿Cómo eliges un desarrollador de aplicaciones móviles? ¿Qué criterios buscas?

¿Cuál es la mejor manera de cifrar datos de la aplicación de Android antes de enviarlos al servidor?

¿Es más difícil desarrollar Android L que las versiones anteriores de Android?

¿Cuál es la mejor computadora portátil para el desarrollo de aplicaciones de juegos para Android y iOS?

¿Cuáles son los requisitos previos para aprender el desarrollo de aplicaciones de Android?

¿Quién es el mejor desarrollador de aplicaciones de Android en Canadá?

¿Cuál es un plan paso a paso para aprender el desarrollo de Android para un novato completo sin ninguna programación o experiencia lógica?

¿Qué herramientas necesito para el desarrollo de Android?

¿Cuál es la mejor aplicación de Android para clasificar imágenes en una galería sin mover archivos?