Pregunta:
Intento generar la menor cantidad de HTML posible a partir de JavaScript. En cambio, prefiero manipular el marcado existente siempre que puedo y solo generar HTML cuando necesito insertar dinámicamente un elemento que no es un buen candidato para usar Ajax. Esto, creo, hace que sea mucho más fácil mantener el código y realizar cambios rápidamente porque el marcado es más fácil de leer y rastrear. Mi regla general es: HTML es para la estructura del documento, CSS es para la presentación, JavaScript es para el comportamiento.
Sin embargo, he visto una gran cantidad de código JS que genera montones de HTML, incluidos formularios completos y diálogos modales con mucho contenido. En general, ¿qué método se considera la mejor práctica? ¿En qué circunstancias debería utilizarse JavaScript para generar HTML y cuándo no?
Respuesta:
Siempre que me he encontrado con una gran generación de HTML en javascript, era casi exclusivamente en un complemento de interfaz de usuario independiente. Tiene sentido, ya que permite encapsular todo el complemento en un solo archivo .js (+ un .css para personalizar estilos), lo que lo hace fácilmente reutilizable, distribuible e independiente del marco utilizado en la aplicación.
Entonces, si está escribiendo un complemento de javascript independiente o un componente de interfaz de usuario genérico que le gustaría usar en diferentes aplicaciones, este enfoque tiene sus ventajas. De lo contrario, creo que es más limpio, más fácil de escribir y más fácil de mantener cuando mantiene la generación html alejada de javascript y en el lado del servidor.