Html simple vs Javascript generado html?

En mi aplicación web, me gustaría evitar complacer html y usar solo javascript para crear el árbol dom de la página web.

Lo que es más rápido escribir contenido web de la manera tradicional en html

Some text

o usar javascript dom render, como este: div.appendChild(document.createTextNode("Some text")); ?

Quédate con el HTML tradicional. No solo es más rápido que hacer todo con javascript, es mucho más fácil de mantener.

A menos que haya una razón convincente de lo contrario, quédese con el HTML directo y use Javascript para las piezas más interactivas de su aplicación.

La velocidad es una preocupación secundaria para la corrección, es decir, cumple con los requisitos funcionales primero, luego lo hace rápido donde sea necesario (en algunos lugares, ya puede ser lo suficientemente rápido).

En este caso, la decisión de utilizar el marcado estático frente a JavaScript es una cuestión de quién está consumiendo su documento. ¿Se trata únicamente de usuarios con JavaScript habilitado? Si es así, no importa demasiado. ¿Es necesario tener en cuenta los motores de búsqueda? ¿Usuarios discapacitados? ¿Clientes delgados que no tienen soporte JS completo o usuarios paranoicos con JS deshabilitados? En todos estos últimos casos, contar con un marcado semántico, no repleto de elementos superfluos, mejorado con JavaScript, es la única forma correcta de hacerlo.

El enfoque tradicional será más rápido porque el navegador solo tiene que descargar, interpretar y mostrar. El enfoque que está sugiriendo hará que el navegador tenga que descargar, interpretar, cambiar * n veces y luego mostrar.

Eso es en lo que se refiere a renderización.

En lo que respecta al mantenimiento, estás creando una pesadilla. Esa es la clave del desarrollo. El número de pesadillas en mantenibilidad es proporcional a la “calidad” del código, en mi humilde opinión. El rendimiento y la optimización deberían ser segundos para la capacidad de mantenimiento. (Hay excepciones, por supuesto. Nada es en blanco y negro).

HTML fue creado para ser un lenguaje expresivo. Javascript no. Fin de la historia, en mi opinión.

HTML es analizado y generado por el navegador y luego ingresado en el DOM. Usar javascript para manipular el dom pieza por pieza es más alto.

Imagínese si tuviera que volver a escribir un artículo de una revista. Ahora imagina hacerlo si cada oración estuviera en una página nueva. A pesar de que el resultado final es un artículo copiado, tuvo que pasar todo ese tiempo hojeando páginas.

Por mucho, la forma tradicional es más rápida, el usuario descarga el archivo, está allí, analizado y hecho.

Si haces el camino JS, la página debe construirse desde el lado del cliente, CADA vez que carguen la página.

Esa es solo una manera horrible de crear una página en mi humilde opinión y una pesadilla para gestionar / actualizar / crear

Si vas a hacer muchos cambios en html a través de javascript, te recomiendo usar una biblioteca de plantillas como trimpath .

Me parece interesante que consideres la creación de un documento exclusivamente a través de Javascript. En realidad, es más rápido crear elementos usando DOM y document.createElement que .innerHTML propiedad .innerHTML . Este método crea los objetos del documento directamente, mientras que el uso de innerHTML requiere que el analizador itere sobre el HTML y cree los elementos.

Por otro lado, el uso de Javascript en lugar de escribir el HTML directamente requeriría que el Javascript sea analizado y ejecutado, creando una sobrecarga adicional sobre el analizador de HTML.

Generalmente, se considera que HTML (creación de plantillas) es un enfoque más intuitivo, modular y mantenible para la manipulación de DOM.

Un par de lugares para comenzar:

jQuery Templating Engines: motores de plantillas jQuery

Plantillas de cierre de Google http://code.google.com/closure/templates/

Ya intenté en el pasado hacer un componente 100% javascript built para un chat ajax. Resultó que era menos sostenible, tomaba más tiempo codificar y la ventaja es que muy delgado, incluso duro, probablemente sea un proyecto que podría beneficiarse mucho de ese enfoque javascript DOM.

Incluso si crees que podría haber una ventaja, no es así. Quédate con HTML puro

En mi humilde opinión, creo que comstackr javascript es una buena solución para crear aplicaciones rápidas en la web.