La forma de decidir el problema debe solucionarse en el back-end o front-end

Suponiendo que está hablando de una aplicación basada en la web u otra aplicación de servidor de cliente de datos distribuidos, si se trata de un problema de seguridad, debe solucionarse absolutamente en el lado del servidor . Los clientes pueden ser pirateados fácilmente, por lo que no puede confiar en ellos. Además, los datos y la lógica empresarial deben mantenerse en el lado del servidor.

La visualización y la experiencia del usuario generalmente se deben manejar en el lado del cliente, que si se trata de una aplicación web basada en navegador, incluiría plantillas html y JavaScript (incluidas las bibliotecas y los marcos de su elección).

Con respecto al lado del controlador de su aplicación, cada vez está más de moda usar marcos basados ​​en JavaScript del lado del cliente, como Angular. La desventaja de este nuevo enfoque es el rendimiento, ya que generalmente implica enviar muchas más solicitudes al servidor.

Otra cosa a tener en cuenta cuando un cambio requiere actualizaciones tanto del lado del cliente como del servidor es que, en algunos sistemas, los scripts y las imágenes pueden almacenarse en centros de distribución que pueden no actualizarse instantáneamente con las actualizaciones del lado del servidor. En este caso, los cambios del lado del servidor deben ser compatibles con las antiguas secuencias de comandos del lado del cliente.

Diagnosticar y descubrir la raíz del problema. Si es un defecto, entonces es fácil: corrige el error donde vive. Pero si el problema es algo más similar al flujo de trabajo o los problemas de sincronización, entonces, dónde abordar el problema se vuelve más borroso. No hay una respuesta corta y seca a esta pregunta.

Por ejemplo, supongamos que tiene una aplicación móvil para un vendedor ambulante que utiliza un servicio web y la aplicación móvil requiere una conexión a Internet para comunicarse con el servicio web. Algunos lugares a los que va el vendedor son remotos o tienen un servicio irregular. ¿Cómo deben manejarse la sincronización y las marcas de tiempo de la información? ¿En el lado del servidor que se sincroniza con la hora del servidor o en la aplicación móvil que obliga al servicio web a aceptar marcas de tiempo en caché?

Donde trabajo nos enfrentamos con este tipo de problema. Finalmente, decidimos que cuando la aplicación móvil se sincronizara desde la memoria caché, usaríamos eventos de la base de datos en el lado del servidor para obtener todos los datos para sincronizar. Esto resultó ser una mejor solución a largo plazo.

Eso depende de cuál sea el problema.

Si el problema es con la funcionalidad, debe solucionarse en el back-end.
Si el problema es con la capacidad de respuesta o el aspecto, entonces debe solucionarse en el front-end.

Típicamente, cualquier cosa estética es front-end y cualquier cosa funcional o relacionada con la base de datos es back-end.