2013-03-21 12 views
9

Desidero scegliere un motore modello per il framework Backbone.js che userò all'interno dell'applicazione MVC.Qual è la differenza tra Mustache.js, Handlebars.js e Underscore.js?

ho letto Backbone.js è compatibile con Mustache.js, Handlebars.js e Underscore.js per impostazione predefinita, esiste una certa differenza importante tra questi motori di modello o che fanno quasi la stessa cosa?

Inoltre, esiste altri modelli di motori compatibili con Backbone.js devono essere presi seriamente in considerazione?

+0

Vedi qui: [Il throwdown del template sul lato client: baffi, manubri, dust.js e altro] (http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars- dustjs-and-more). Underscore è l'unico dei tre che hai menzionato che consente l'incorporamento di Javascript. –

+0

Vedere anche http://stackoverflow.com/q/10194921 –

+7

e http://garann.github.com/template-chooser/ –

risposta

6

I baffi e i manubri sono noti come "motori di template senza logica". Costringono gli sviluppatori a non includere alcuna logica eccessivamente complessa nella visualizzazione, solo le strutture di controllo più elementari necessarie per l'output dei dati, mantenendo pulito l'HTML (o altro contenuto). Ciò significa anche che sono completamente indipendenti dal linguaggio; dovresti essere in grado di usarli con qualsiasi linguaggio di programmazione/scripting con pochi problemi.

Underscore tuttavia è diverso. È una libreria JavaScript di per sé, come Prototype o jQuery, e viene fornita con il proprio motore di template. I modelli hanno accesso a qualsiasi metodo o aiuto all'interno della libreria, il che significa che i modelli sono strettamente legati a JavaScript e ospitano molta più logica.

+6

Moustache non ha logica, Handlebars no. – joelmdev

Problemi correlati