¿Qué motores de plantilla Javascript recomiendas? [cerrado]

78

Me gustaría saber tu opinión sobre el motor de plantillas javascript, ¿cuál crees que es mejor en términos de rendimiento?

Encontré algunos enlaces donde las personas hacen evaluaciones comparativas:

http://jsperf.com/jquery-template-table-performance/15

http://jsperf.com/jquery-template-table-performance/8

http://www.viget.com/extend/benchmarking-javascript-templating-libraries/

kaha
fuente
github.com/foo123/Contemplate , liviano, rápido, flexible y motor de plantilla isomosprhic (pruebas jsperf y pruebas de ejemplo incluidas) (ps: soy el autor)
Nikos M.

Respuestas:

109

Plantilla-Motor-Selector! - Herramienta para ayudar a seleccionar el motor de plantilla adecuado para un proyecto.

DISCOS COMPACTOS..
fuente
6
Funciona muy bien (sarcasmo). Respondiendo a las 3 primeras preguntas: Cliente o servidor: cliente Cuánta lógica: solo lo básico ¿Debe ser uno de los más rápidos: sí No produce resultados.
Salvador Dali
2
@SalvadorDali: los "más rápidos" compilan directamente en JS, por lo que su otro requisito es que tenga conflictos "solo los básicos", ya que no limitan nada.
Mark Kahn
1
@SalvadorDali, una herramienta para ayudarte a elegir cosas no hará que esas cosas hagan lo que tú quieres.
Será el
Solo notando, este sitio ya no es compatible: github.com/garann/template-chooser
Chris
Mi favorito es Slim ( slim-lang.com ). Especialmente bueno para los fanáticos del rubí.
Alex Nazarsky
24

En términos de rendimiento, descubrí que no es el motor de plantillas en sí, sino más si existe la posibilidad de precompilar las plantillas. De todos modos, es una buena práctica concatenar y minificar todos sus archivos fuente JavaScript en un archivo para el modo de producción, por lo que básicamente es el mismo paso precompilar las plantillas también.

He usado la plantilla jQuery y Moustache para la creación de plantillas del lado del cliente, pero mi favorito sigue siendo EJS, que siempre funcionó mucho más rápido que cualquier otra cosa que probé hasta ahora, especialmente en el modo de producción (se compila para la concatenación de cadenas nativas siempre que sea posible y solo necesita un DOM acceso para insertar realmente la vista renderizada). Es parte del marco JavaScriptMVC y cuando se usa con StealJS como administrador de dependencias, ya realiza toda la compilación de la plantilla en producción ( View Engine también es compatible con las plantillas Micro, Moustache y jQuery).

Narciso
fuente
Actualmente estoy compilando con backbone.js, y ya tiene plantillas de subrayado, no sé si debería pasar a otros motores de plantillas. ¿Pero lo que puedo ver en todo este bigote de evaluación comparativa parece ser el ganador?
kaha
Encontré a Moustache bastante lento. ¿Tiene problemas de rendimiento reales con su motor de plantillas?
Daff
no realmente, la única pregunta que tendría es, ¿cómo puedo precompilar las plantillas?
kaha
Depende del idioma de la plantilla que decidas usar. Básicamente, necesitaría ejecutar un script del compilador antes de la minificación durante su proceso de compilación. Por ejemplo, algo como esto para jQuery template github.com/wookiehangover/jquery-tmpl-jst
Daff
3
EJS es el mejor sin duda. Simplemente se quita de su camino y le permite codificar JavaScript, le permite cargarlo de forma remota de una manera súper limpia y le permite reemplazar '<' por este '[' para trabajar con su codificación del lado del servidor. Todo lo demás para mí es como un súper nerd tratando de hacerlo cutie con una bonita basura de abstracción de sintaxis.
Jason Sebring
11

Puede ser PURO : permite transformar JSON en HTML con plantillas creadas a partir de su html existente, no de una plantilla separada con una sintaxis especial.

Desde el sitio de PURE:

Herramienta de creación de plantillas simple y ultrarrápida para generar HTML a partir de datos JSON

La representación (HTML) y la lógica (JS) permanecen totalmente separadas

Funciona de forma independiente o con dojo, DomAssistant, Ext JS, jQuery, Mootools, Prototype, Sizzle y Sly

La mejor manera de entenderlo es ver qué hace realmente esta biblioteca : (de la demostración oficial) demostración pura del motor de plantilla

Todas las demostraciones están aquí

Vladimir Starkov
fuente
1
La documentación no es tan precisa y el repositorio de Github no tiene un rastreador de problemas para informar errores.
smonff
4

Elija el lenguaje de plantilla que tenga una api y una sintaxis que le resulte más atractiva. Si tiene problemas de rendimiento, puede buscar alternativas.

A menos que esté construyendo tablas con miles de filas, probablemente no notará ninguna diferencia.

Personalmente utilizo las plantillas de cierre de Google . Lo elegí principalmente porque también tiene una implementación de Java. Nunca he realizado evaluaciones comparativas.

Mikerobi
fuente