¿Cuáles son los pros y los contras de la creación de plantillas web en el front-end usando JavaScript en comparación con el back-end?

Creo que, en términos generales, para la mayoría de las aplicaciones de escala no masiva, las plantillas del lado del cliente son el camino a seguir.

El rendimiento no es drásticamente diferente.

Aquí hay una excelente reseña sobre este tema: http://www.onebigfluke.com/2015/…

Los puntos principales del artículo sobre el rendimiento son:

  • Las plantillas del lado del cliente son más rápidas que la última pintura (cuando los usuarios realmente pueden comenzar a interactuar con la página) para un mayor número de plantillas
  • Las plantillas del lado del servidor son más rápidas de pintar (la primera vez que los usuarios comienzan a ver cosas en el navegador) para un mayor número de plantillas
  • Ambos se comportan más o menos igual para pequeñas cantidades de plantillas

El SEO ya no es tan preocupante

Si se dirige a rastreadores web que no son compatibles con JavaScript, las plantillas del lado del servidor son una mejor opción, pero debería estar bien con Google para usar plantillas del lado del cliente.

Distribuye la carga de CPU con el lado del cliente

Si tiene CPU en sus servidores, la representación del lado del cliente podría ser una mejor opción.

Las plantillas del lado del servidor pueden ser más rápidas de escribir

Con las plantillas del lado del cliente hay dos partes: JSON y las plantillas. Dependiendo de su marco específico, puede costar un poco menos comenzar a usar plantillas del lado del servidor. Por ejemplo, Rails hace que sea muy simple hacer que funcionen las plantillas del lado del servidor.

Las pruebas de integración con plantillas del lado del servidor también son un poco más fáciles porque no es necesario iniciar un navegador (o una aplicación de navegador) para ejecutar las pruebas.

En gSchool enseñamos ambos, porque en la industria en general en este momento creo que hay buenos usos de ambos, incluso dentro de la misma aplicación en muchos casos. Sin embargo, definitivamente veo una tendencia hacia la plantilla del lado del cliente.