Contenido

Templates en Javascript

27 feb

+ 5

Leyendo un artículo que descubrí en Digg, acerca del uso de templates en javascript, ¿Quien me iba a decir que ese lenguaje con el que validaba formularios iba a tener tanta repercusión?

Descubro que Prototype dispone de una clase dedicada al uso de Templates y que su utilización es realmente sencilla e interesante.

Código

var myTemplate = new Template('The TV show #{title} was created by #{author}.');
var show = {title: 'The Simpsons', author: 'Matt Groening', network: 'FOX' };
myTemplate.evaluate(show);
// RESULTADO -> The TV show The Simpsons was created by Matt Groening.

Este sistema nos permite definir una cadena e indicarle mediante variables #(variable) que serán reemplazadas por su valor al ser evaluadas. Esto es muy util al igual que en otros lenguajes para facilitar la modificación futura de nuestros templates.

Contraindicaciones

Hemos de pensar que apesar de la potencia del lenguaje hay alguna limitaciones que hacen que ciertos usuario no puedan disfrutar de estas funcionalidades, y por ese motivo creo que este sistema debería ser usado de forma lo más prudente posible.

Alternativas

Aun así puede ser que necesitemos hacer uso de esta propiedad, aunque no tiene por que ser la de Prototype, hay alternativas bastante interesantes.

  • JST, un sistema de Templates sin necesidad de ninguna librería.
  • Ajax Pages, un sistema similar a JST, pero más limitado.
  • Realmente es sencillo de implementar, lo voy ha probar en un proyecto nuevo.

    Un saludo.

  • Por que dices que tiene limitaciones?
    a que te refieres?
    y por que dices que ha de ser usado de forma lo más prudente posible

    gracias

  • #2 Una de las limitaciones que veo más clara es la de que el javascript usado de esta forma no es accesible y muy obstructivo. Partiendo de esa base, hemos de ser consecuentes que debido a cualquier problema, que ya conocemos, podemos dejar la aplicación inservible debido a que el javascript se encarga de dibujar el código que veremos por pantalla.
    En cierta manera es una forma de realizar document.write por toda la pantalla. Aunque lo dicho, depende del proyecto y de la situación es una solución tan buena como cualquier otra ;)

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.