Adiós HTML, bienvenido Haml
Actualmente me encuentro comenzando varios proyectos pequeños basados en diferentes plataformas y/o frameworks (Django, Ruby on Rails, PHP), con lo cual se me “armó” un lío interesante a la hora de recordar las sintaxis que utiliza cada framework/lenguaje para generar el HTML final. RoR usa por defecto ERB, Django tiene su lenguaje para templates y con PHP me alcanzaba con la forma básica de embeberlo en HTML. Con la escasa memoria que tengo, se podrán imaginar que iba a terminar escribiendo cualquier cosa.
Por suerte, y gracias al dios de los lenguajes de programación (?), @eljuanchosf llegó para salvarme con Haml en la mano.
Haml fue ideado para acelerar los tiempos de desarrollo y a la vez lograr un lenguaje de markup agradable a la vista. No por nada de su idea principal es:
Markup should be beautiful.
Luego de ver un ejemplo, se puede comprobar la sencillez y “limpieza” que este lenguaje le puede dar a nuestros templates. El ejemplo siguiente está extraído del tutorial que se puede ver en la página principal de Haml.
ERB
<div id='content'>
<div class='left column'>
<h2>Welcome to our site!</h2>
<p><%= print_information %></p>
</div>
<div>
<%= render :partial => "sidebar" %>
</div>
</div>
Haml
#content
.left.column
%h2 Welcome to our site!
%p= print_information
.right.column
= render :partial => "sidebar"
Pero el hecho de que me gustara tanto Haml traía consigo un nuevo problema; empecé a “odiar” el lenguaje de templates de Django y PHP embebido en HTML (en realidad a éste último ya lo odiaba). Así que puse manos al teclado y busqué implementaciones de Haml para estos lenguajes, encontrando resultados mucho más rápido y fácil de lo que esperaba.
Para poder tener un lenguaje similar a Haml en Django, podemos utilizar GHRML, el cual está basado en Genshi Markup Templates. En el caso de PHP, existe un parser llamado phphaml, el cual nos permite escribir los templates casi de la misma forma que lo hacemos en el Haml original. Pueden ver ejemplos de estos en sus respectivas páginas.
¿Conocen otras implementaciones de Haml para Django o PHP? ¿Son mejores que las encontradas por mi? ¡No duden en dejar sus comentarios recomendándolas!
This entry was posted on Monday, November 16th, 2009 at 3:53 pm and is filed under Desarrollo Web, Django, Programación, Python, Tutoriales. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.




The Doctor November 17th, 2009 at 7:00 am
Yo creo que esa costumbre la generan lenguajes como Java, C, PHP, HTML… Empezá a programar (por ejemplo) en Python un tiempo, y vas a ver qué rápido te podés olvidar de todas esas horribles llaves, puntos y comas, signos de mayor o menor y “ends”. Con Haml pasa lo mismo, te acostumbrás a indentar (como en Python) en vez de “abrir y cerrar” y de repente te das cuenta de que *siempre* tendrías que haber programado así.
Por lo menos es lo que a mí me pasó ^^
Saludos!