¿Debo procesar un JSON en el frontend o Backend, que es más rápido? [cerrado]

11

Recibo una respuesta de una API como respuesta json. Estoy codificando en Python para backend.

El equipo frontend necesita información de la respuesta json sin procesar para completar una interfaz de usuario, por lo que tenemos que ordenar el json y hacer que sea más fácil para ellos obtener información.

Ahora puedo ordenar el json en un formato específico y enviarlo al equipo frontend o puedo pasar la respuesta json sin procesar * al equipo frontend y dejar que se encarguen de ordenar el json y usarlo más para su interfaz de usuario.

Recuerda que mi tamaño de archivo json es de 15 MB .

¿Cuál es más rápido y un mejor principio de diseño?

¿Procesar en el backend y luego empujar a la interfaz o procesar en la interfaz?

Xavier danés
fuente
En mi opinión, el procesamiento en el servidor es mejor en su caso debido al tamaño y la longitud de los datos, ya que generalmente los servidores ofrecen un rendimiento mucho mejor que los navegadores en la PC.
Umair Khan
1
Idealmente, el front-end simplemente consume las respuestas API. Dado que la interfaz de usuario se ejecutará en las computadoras de otras personas (que pueden ser débiles y lentas), no querrá descargar datos mezclados al lado del cliente porque puede conducir a una experiencia lenta y desagradable en su aplicación web. La respuesta del backend debería estar más o menos en el formato necesario para el front-end. Idealmente, el front end no debería estar haciendo mucho (si lo hubiera) procesamiento de datos reales, eso debería hacerse del lado del servidor
Jayce444
2
15 MB es bastante, lo haría en el backend.
Boris

Respuestas:

7

Idealmente, si el tamaño del archivo es de 15 mb, se cargará en la memoria del navegador, lo que lo hará lento, sugeriría hacer la operación solo en el back-end.

También puede pasar por este enlace como referencia. Diferencia entre python y Javascript y qué usar

  1. Un aspecto importante es que JavaScript es difícil de depurar. Puede notar que a pesar de que su código está libre de errores, el programa no funcionará (fallará en silencio).
Rahul Goyal
fuente
3

Siempre es mejor procesar los datos en el propio backend.

Eswar RDS
fuente
2

Sugeriría realizar esto en el backend, algunas razones clave por las que sugeriría esto son:

  • El procesamiento en dispositivos móviles conduce a un consumo masivo de batería
  • Si su interfaz es web, JavaScript se bloqueará mientras se produce el procesamiento (lo que podría conducir a malas experiencias)
  • La respuesta del servidor se puede almacenar en caché para acelerar los tiempos de respuesta y reducir el procesamiento duplicado
  • Su lenguaje de back-end puede realizar la tarea de manera más óptima que el dispositivo frontend.
Neibesh
fuente
0

Como otros han señalado, hay bastantes buenas razones para preferir el procesamiento en el back-end:

  • si puede eliminar todos los datos innecesarios del JSON que se envía al front-end, reducirá la carga en el dispositivo del usuario final tanto en términos de transferencia como en tiempo de análisis
  • puede ser posible almacenar en caché la llamada a la API remota, por lo que no necesita hacer tantas llamadas a las API remotas (lo que generalmente será muy lento en comparación con la recuperación de la memoria caché). También puede almacenar en caché los datos de procesamiento posterior, por lo que puede servirlos repetidamente
  • Puede detectar errores que suceden al procesar el JSON, mientras que eso es menos visible si está sucediendo en el dispositivo cliente

Otra gran ventaja de procesar la respuesta API en el back-end es que puede elegir la estructura que envía al front-end. De esa manera, si la API que consume cambia con el tiempo (o si cambia el servicio que está utilizando para recuperar datos), puede manejar ese cambio en el back-end sin que afecte el código de front-end.

SimeonJM
fuente