¿Cuáles son las diferencias entre Moustache.js y manillares.js?

Resuelto Chad Johnson asked hace 12 años • 0 respuestas

Las principales diferencias que he visto son:

  • Manillar añade #if, #unless, #withy#each
  • El manillar añade ayudantes.
  • Se compilan plantillas de manillares (Bigote también puede serlo)
  • Manillar soporta caminos
  • Permite el uso de {{this}}en bloques (que genera el valor de cadena del elemento actual)
  • Handlebars.SafeString()(y tal vez algunos otros métodos)
  • El manillar es de 2 a 7 veces más rápido.
  • El bigote admite secciones invertidas (es decir if !x ..., )

(Corríjame si me equivoco con lo anterior).

¿Hay otras diferencias importantes que me estoy perdiendo?

Chad Johnson avatar May 12 '12 00:05 Chad Johnson
Aceptado

Prácticamente lo has logrado, sin embargo, también se pueden compilar plantillas de Moustache.

A Moustache le faltan ayudantes y los bloques más avanzados porque se esfuerza por no tener lógica. Los asistentes personalizados de Manillar pueden ser muy útiles, pero a menudo terminan introduciendo lógica en sus plantillas.

Moustache tiene muchos compiladores diferentes (JavaScript, Ruby, Python, C, etc.). Los manillares comenzaron en JavaScript, ahora hay proyectos como django-handlebars , handlebars.java , handlebars-ruby , lightncandy (PHP) y handlebars-objc .

frontendbeauty avatar Aug 01 '2012 19:08 frontendbeauty

Ventajas del bigote:

  • Elección muy popular entre una comunidad grande y activa.
  • Soporte del lado del servidor en muchos lenguajes, incluido Java.
  • Las plantillas sin lógica hacen un gran trabajo al obligarte a separar la presentación de la lógica.
  • La sintaxis limpia conduce a plantillas que son fáciles de crear, leer y mantener.

Contras del bigote:

  • Un poco carente de lógica: las tareas básicas (por ejemplo, etiquetar filas alternas con diferentes clases de CSS) son difíciles.
  • La lógica de visualización a menudo se devuelve al servidor o se implementa como una "lambda" (función invocable).
  • Para que las lambdas funcionen en el cliente y el servidor, debe escribirlas en JavaScript.

Ventajas del manillar:

  • Las plantillas sin lógica hacen un gran trabajo al obligarte a separar la presentación de la lógica.
  • La sintaxis limpia conduce a plantillas que son fáciles de crear, leer y mantener.
  • Plantillas compiladas en lugar de interpretadas.
  • Mejor soporte para rutas que bigote (es decir, llegar profundamente a un objeto contextual).
  • Mejor apoyo para los ayudantes globales que el bigote.

Contras del manillar:

  • Requiere JavaScript del lado del servidor para renderizarse en el servidor.

Fuente: Análisis de plantillas del lado del cliente: bigote, manillar, polvo.js y más

Faraz Kelhini avatar Dec 28 '2013 10:12 Faraz Kelhini