Llevo unos días jugando con liquid y me parece una herramienta bastante flexible. Liquid es un motor de vistas para rails con la particularidad de usar un lenguaje extensible con mucha facilidad, de esta manera podemos limitar y controlar el código que se va a insertar en la maqueta.

¿Tiene sentido? Sí cuando no queremos que nadie introduzca en una vista código ‘no deseado’.

El famoso mephisto viene con liquid de serie y es un ejemplo de cómo se usa este plugin: instalamos una aplicación de la que (salvo rarísimas excepciones) no vamos a tocar nada del código de la aplicación y podemos editar y personalizar paquetes de vistas con el marcado de liquid.

Por mi parte creo que el uso de este tipo de plantillas tiene sentido sólo en casos concretos, por ejemplo:

  • Cuando estemos desarrollando una aplicación en la que el cliente se encarga de modificar las vistas
  • Cuando un gran número de usuarios usan una misma aplicación y tienen la posibilidad de editar sus plantillas (¿un sistema de blogs tal vez?)
  • Cuando el maquetador no sepa nada de rails o la maquetación sea un departamento estanco dentro del equipo de trabajo (recordemos que un maquetador no tiene la necesidad de saber programar todo lo que caiga en sus manos, aunque para esto hay todo tipo de opiniones)

Recordemos también que el precio que pagamos por esto es tener que definir muchos métodos que finalmente se acabarán usando en la maqueta. Existen ampliaciones de liquid para mephisto que podemos tomar como base si nos hace falta crear un método y no sabemos por dónde empezar.

En definitiva liquid puede merecer la pena siempre y cuando se vaya a hacer un uso realmente justificado de él, si no creo que exige mucho para conseguir resultados.

Existen en rails otras extensiones (o sustituciones) de las vistas propias de ActionView, como puede ser MasterView o las subplantillas Markaby, pero decidir la adopción de cualquier opción distinta a ActionView nunca va a ser tarea fácil.