2012-03-16 17 views
5

Escribo muchas aplicaciones web que requieren una gran cantidad de contenido dinámico que se reemplaza de acuerdo con varias solicitudes de ajax al backend PHP + mySQL que puede responder todos los datos como JSON. Esto podría ser algo así como cuestionarios, encuestas o también podría ser aplicaciones más avanzadas que requieren más actualizaciones del DOM. El punto es que la integración con el HTML (que está codificada por una tercera parte) es lo más fácil posible.Marco de plantilla de Javascript

Dado que se trata de muchas aplicaciones pequeñas y no es un sitio grande, estoy buscando una biblioteca que me ayude a hacer el trabajo rápidamente y fácil para personalizar más adelante. No sé la mejor manera de hacerlo, pero sé que hay varias bibliotecas que hacen lo que necesito (y mucho más).

características requeridas:

  • Ligera
  • fácil de actualizar la estructura HTML (incluso para sólo HTML codificadores)
  • compatibles con jQuery
  • funciona con todos los navegadores modernos, como Chrome, Firefox, Safari e IE7 +
  • Funciona con todos los navegadores móviles, incluidos Android, iOS y Windows Mobile

Respuesta

2

Moustache es bastante sólido, pero me pareció un poco demasiado duro sobre la cosa de la "plantilla sin lógica". Por ejemplo, no ofrece muchas pequeñas sutilezas que podría esperar en un sistema de plantillas, como una declaración "else". Tienes que hacer cosas tontas como esta todo el tiempo:

{{#if foo}} 
    <span>foo is set</span> 
{{/if} 
{{^if foo}} 
    <span>foo is not set</span> 
{{/if}} 

En su lugar, me gustaría recomendar Handlebars que se construye en la parte superior del bigote, pero añade algunas características interesantes como ayudantes personalizados y un mejor soporte de conmutación de contexto.

+0

Ha pasado casi un año desde que hice esta pregunta. Y en este punto me he decidido por los manubrios. Mi elección final se realizó cuando necesitaba usarla en una extensión de Chrome donde eval() no está permitido. Handlebars también proporciona precompilación de plantillas. – jack

0

Lo intentaría mustache. Lo he usado en el pasado y es bastante bueno; rápido e intuitivo.

0

Probar JUST. Tiene una sintaxis similar con EJS pero más poderosa. Tiene funciones muy útiles como herencia, parciales y redefeniciones de bloques. Funciona en el lado del cliente y del servidor (node.js).

5

Lo intentaría Distal.

Dijiste que tu HTML está codificado por un tercero, por lo que querrías cambios mínimos durante la integración. Con distal, agrega cosas al HTML existente y no necesita mover cosas.

La sintaxis está basada en HTML, por lo que es adecuada solo para codificadores HTML.

+1

Esto se ve como una biblioteca muy bonita, ¡y se adapta perfectamente a mis necesidades! Usaré el resto del domingo para probarlo. ¡Muchas gracias! – jack

+1

Distal parece que va a ser mi elección de biblioteca. Voy a aceptar esto como la respuesta correcta. Gracias por todas las respuestas. – jack

+0

Esto es asombroso, realmente lo amo. Es el primer marco de plantilla poco intrusivo que veo. – rterrani

Cuestiones relacionadas