2012-01-17 10 views
14

Ho bisogno di scegliere un motore di rendering Moustache per un mio progetto Scala. Sembra che le uniche due scelte siano Mustache-Java e Scalate? Ci sono dei confronti? Qual è il più stabile/performante dei due?Baffi scalati contro baffi Java

+1

+1 - Questa è una domanda eccellente. –

+0

Baffi scalati? –

risposta

0

Un vantaggio di Mustache-Java è che Java compila molto rapidamente rispetto a Scala.

+0

se sei già su Scala come l'op, la velocità di compilazione qui non avrà molta importanza, dato che il baffo non è compilato, giusto? – iwein

+0

Credo che i baffi siano (o almeno dovrebbero essere) compilati nella maggior parte dei casi. Per esempio. vedi il flag --compile nel processore dei baffi: http://mustache.github.com/mustache.1.html –

+0

Ah, stupido. Altre cose da provare Grazie Ben! – iwein

3

Stavo usando i baffi come parte di scalatra-scalate. Questa è l'unica scelta sensata per me dato che sono già stato investito in Scalatra. Data la scelta, proverei a moustache-java a fondo. I motori scalati sono (ancora?) In qualche modo stravaganti e immaturi.

Alcuni esempi che ho incontrato:

  • se si modificano i delimitatori di default {{= <%%> =}} si dovrà aggiungere spazi intorno ai vostri delimitatori da allora in poi, altrimenti le induttanze parser
  • se si desidera collegare personalizzati di movimentazione per le chiavi mancanti, tu sei bloccato
  • volte il rendering si blocca per minuti alla volta senza alcun motivo evidente (questo era con Jade, non Baffo, ma è piuttosto spaventoso comunque)

Se non stai facendo cose complesse, il baffo funziona bene, e Scalate aggiunge alcune caratteristiche ingegnose come i modelli predefiniti e tali che potrebbero aiutarti.

6

Ho appena eseguito lo stesso processo (Mustache Scalate o Moustache Java). Ho finito per andare con Mustache Java, e sta funzionando bene.

Perché Mustache Java? Perché tutto quello che volevo erano i modelli di baffi. Scalate ha più di questo supporto e non volevo aggiungere altro "materiale" al mio codice base, ma usare solo parte delle sue funzionalità.