Publicaciones
En una Aplicación de Una Sola Página, ¿Debo procesar en el Cliente o en el Servidor?
27 de diciembre de 2015 • 2 min de lectura
Uno de los puntos de venta de la Aplicación de Una Sola Página (SPA) fue trasladar el trabajo tradicionalmente realizado en el servidor al cliente. Creo que la SPA ha cumplido esta promesa.
Sin embargo, no todo es color de rosa. Es fácil entusiasmarse demasiado y trasladar demasiado trabajo al cliente. A menudo olvidamos que no podemos controlar el entorno del cliente — el cliente puede ser desde una máquina de diez años de antigüedad hasta el último y mejor smartphone con acceso a velocidades de internet variables. Lo único en lo que podemos contar es en que el usuario vea nuestro sitio en un navegador.
Procesamiento
En mi experiencia, el procesamiento intensivo y los datos que necesitan consistencia entre el servidor y el cliente, como conversiones de fechas o datos que requieren cálculos precisos, como dinero, son candidatos principales para la representación del lado del servidor.
Paginación
Una tarea común realizada en el cliente es la paginación. Con conjuntos de datos pequeños esto funciona muy bien; sin embargo, los conjuntos de datos pequeños nunca permanecen pequeños. A medida que los datos crecen, la aplicación se ralentiza y eventualmente se vuelve sin respuesta. Desafortunadamente, no sabes que está sucediendo porque está en el cliente e incluso peor, no ocurre en todos los clientes, lo que dificulta la solución de problemas.
Mover la paginación del cliente al servidor aliviará los problemas de rendimiento relacionados con la paginación en el cliente. Podrías estar pensando, “pero ahora estoy haciendo un montón de llamadas API. Hacer tantas llamadas API no parece óptimo.” Es verdad, parece de esa manera, pero te sorprenderá lo rápido que tus datos regresan del servidor. ¿Y la mejor parte? Controlas el servidor y puedes aumentar la capacidad según sea necesario.
Al final del día, quieres proporcionar al usuario una experiencia rica y receptiva, y a veces eso significa dejar que el servidor haga el trabajo pesado.
Resumen
En resumen, cuando sea posible queremos trasladar el trabajo al cliente, pero al hacerlo, podemos sobrecargar rápidamente el cliente. Mantener tareas arduas como la paginación y el procesamiento intensivo en el servidor puede protegernos de abrumar al cliente.
Autor: Chuck Conway es un Ingeniero de IA con casi 30 años de experiencia en ingeniería de software. Construye sistemas de IA prácticos—canalizaciones de contenido, agentes de infraestructura y herramientas que resuelven problemas reales—y comparte lo que está aprendiendo en el camino. Conéctate con él en redes sociales: X (@chuckconway) o visítalo en YouTube y en SubStack.