2012-01-10 21 views
25

Estoy aprendiendo backbone.js para una aplicación Rails 3 en la que estoy trabajando. Backbone usa underscore que, creo, tiene su propia plantilla de motor integrada.¿Cuáles son los pros/contra de usar bigote con Backbone.js?

He leído cosas buenas sobre el bigote, pero me preguntaba si debería considerar usarlo en lugar del motor de plantilla incorporado del guión bajo.

¿Cuáles son sus pensamientos?

Gracias

Respuesta

32

Estoy aproximadamente a la mitad de mi primera aplicación de backbone de nivel empresarial. Actualmente estoy usando plantillas de guiones bajos porque cuando comencé el camino que había aprendido era con guión bajo ... No necesariamente tengo ningún problema con ellos. Todas las soluciones de plantillas son bastante sencillas.

Desde entonces he analizado algunas de las otras soluciones y estoy considerando cambiarlas, pero solo porque creo que algunas de las otras soluciones se ven más limpias. Además, algunas de las soluciones tienen un poco más de funcionalidad.

Me gusta el bigote debido a su sintaxis más corta. Se ve más limpio. Pero si cambio, creo que voy a ir con Handlebars.js.

El manillar tiene la misma sintaxis breve, además de una tonelada de otras características como métodos de ayuda personalizados y configuración del contexto del objeto dentro de su plantilla. Verifique here. Si hubiera sabido sobre los manubrios al comienzo de mi proyecto, probablemente habría saltado con seguridad.

No me preocuparía tanto por agregar otra dependencia como otros han mencionado. Las aplicaciones de backbone hechas correctamente funcionarán de la manera más rápida posible. : D

Si tiene alguna otra pregunta, hágamelo saber. Realmente he disfrutado de la columna vertebral, así que estoy tratando de ver las publicaciones etiquetadas. Pero en serio. Manubrios se ve de fiar.

EDIT:

también quería decir que añadir que la documentación para el manillar se ve mucho más de fiar que los guiones ...

+1

+1 para el comentario sobre la documentación, la documentación de subrayado es peor que muchos otros motores. – Sander

+3

+1 por la mención de 'Handlebars.js'. ¡Definitivamente lo voy a revisar! Por cierto, ¿hay otros codificadores por ahí que quieran crecer un bigote de manillar ahora? – cbmeeks

+0

Gracias de nuevo. No solo recibiste una buena respuesta, sino que me indicaste una alternativa de la que nunca había oído hablar. – cbmeeks

18

El mayor problema que puedo pensar es que va a añadir una nueva biblioteca para hacer algo que sus dependencias ya lo hacen. Si la sintaxis es su mayor preocupación, el siguiente fragmento le dirá al subrayado que use una sintaxis similar.

_.templateSettings = { 
    evaluate : /\{\[([\s\S]+?)\]\}/g, 
    interpolate : /\{\{([\s\S]+?)\}\}/g 
}; 
+0

¿No hay otras grandes diferencias entre los dos motores? al igual que la estructura, o incluso la funcionalidad como 1 solo puede hacer variables en el texto, mientras que la otra soporta plantillas en bucle o anidadas o algo así. – Sander

+3

La principal diferencia que conozco es que Moustache usa sintaxis independiente del lenguaje y tiene implementaciones en varios idiomas para que pueda usar las plantillas en el front-end y back-end. – JaredMcAteer

+2

Otra diferencia es que el bigote no tiene lógica, lo que requiere una separación y un código más rigurosos. – wprl

3

La pregunta se refiere a los carriles, pero no está marcado de manera; por lo que una estafa entra en conflicto con los idiomas que usan una sintaxis similar a un bigote, como las plantillas de django.

Si una plantilla django analiza primero un bloque, intentará completar los bloques {{ }} antes de escribir el JS.

estoy usando una etiqueta de plantilla de Django verbatim que ignora {{}} bloques para resolver el problema, pero ahora me gustaría utiliza la sintaxis predeterminada <%=%> de modo que yo no tengo que escapar de forma explícita estos bloques escritos en el motor de plantillas de Django.

Cuestiones relacionadas