Para una aplicación de una sola página servida por una API tipo REST, ¿cuáles son los beneficios / costos de hacer cálculos financieros en el front-end?

Considere esto: en una página web, computadora de escritorio o dispositivo móvil, puede hacer manipulación de fotos, en tiempo real.

Modifique el tamaño, agregue filtros de fotos que usted mismo escriba

Esto ni siquiera cubre los sombreadores 3D (a los que tiene acceso), sino solo el procesamiento de datos JavaScript del software.

Imagine cuántos cálculos deben hacerse incluso en una imagen pequeña (512 × 512), para agregar múltiples filtros contra cada píxel, y mucho menos contra imágenes del tamaño de la entrada promedio de la cámara.

Dejando a un lado la duración de la batería y la capacidad de respuesta suave y sedosa de 60 fps, es más importante responder “qué datos” y “por qué hacerlo”, en lugar de “puedo”.

Los porqués son bastante sencillos.

Nuevamente, volviendo a las imágenes, si el lado del cliente procesa las imágenes, son millones de fotos en las que los teléfonos pueden trabajar un poco, para que los servidores no tengan que suicidarse, lo que beneficia a todas las personas. Quien quiere que los servidores sean rápidos. También ahorra dinero a todos, al no tener que almacenar y procesar todos los datos sin procesar, para los que el sistema no tiene uso.

Sin embargo, si el procesamiento requiere claves secretas, o datos especiales que no se deben entregar al cliente, entonces el servidor tendría que guardar las imágenes y hacer todo el trabajo, para mantener los datos secretos en secreto. El costo y la infraestructura deben tener en cuenta los secretos comerciales … si no tiene secretos comerciales ni secretos de cuenta (datos que no están permitidos en el cliente, pero que se necesitan en los cálculos, incluso si el cliente posee sus propios datos, por lo general) Hay pocas razones para asumir el costo adicional y el riesgo potencial de hacerlo todo en el servidor.

Para el cálculo con menos de un cuarto de millón de puntos de datos, puede obtener un resultado de un segundo. El costo es que no puede distribuir el cálculo a varias máquinas, que a menudo es lo que hacen las soluciones de back-end (como Druid)