Estoy aprendiendo Rails y he visto estos motores de plantilla. No tengo experiencia con ellos (solo erb).
Pero como soy un principiante, estoy realmente confundido. ¿Cuál sugieres y por qué? Erb, Haml o Slim? Indique el motivo por el que prefiere uno sobre los demás. Y si tiene otras recomendaciones, háganoslo saber.
EDITAR: NO estoy buscando un ganador aquí. Solo quiero escuchar sus opiniones sobre ellos, su sintaxis, velocidad de ejecución, etc.
ruby-on-rails
haml
erb
slim-lang
Omid Kamangar
fuente
fuente
Respuestas:
ERB es bueno principalmente si tiene un diseñador web que trabajará en HTML simple y no conoce ni haml ni slim. De esta manera, puede escribir HTML y puede incrustar lógica ruby con las etiquetas adecuadas.
Si trabaja tanto en HTML como en Ruby Logic, o si su diseñador está listo para aprender algo nuevo (como HAML), optaría por HAML. Es mucho más compatible con ruby, reduce el recuento de caracteres en mucho y es mucho más legible que ERB.
Por ejemplo (tomado del sitio oficial de HAML ):
En ERB, su vista se verá así:
Mientras esté en HAML, se verá así:
¡Mucho más limpio!
En cuanto a la diferencia entre HAML y SLIM, nunca trabajé con SLIM, pero supongo que es una cuestión de gustos, eche un vistazo a ambas sintaxis y decida cuál se ve mejor en sus ojos. No creo que haya un ganador definitivo entre esos dos (HAML / SLIM).
fuente
a href="foo"
.Dos grandes ventajas de usar slim sobre haml:
Slim es actualmente unas ocho veces más rápido que haml.
Slim admite la transmisión HTTP, mientras que HAML no.
Slim tiene una sintaxis más natural:
a href="foo.html"
fuente
Fuera de mi cabeza, esto es lo que se me ocurrió
ERB :
Pros
Contras
HAML
Pros
Contras
fuente
La pregunta para mí se reduce a si prefiere poner
%
antes de cada etiqueta o|
antes de cada nuevo bloque de texto?Delgado:
Haml:
Una cosa más a tener en cuenta: haml asume un espacio en blanco entre las nuevas líneas ( elimine los espacios en blanco en haml ) mientras que slim no asume ningún espacio (agregue espacios en blanco en Slim aquí y aquí )
fuente
|
para cada bloque de texto%
para cada etiqueta. Hay muchas más etiquetas que bloques de texto literal. Una ganancia pequeña, pero semántica para mí con slim es que cualquier html literal sin formato con<>
etiquetas utilizadas está precedido por un explícito|
. Prefiero "todo es delgado a menos que lo hagas explícitamente literal con|
" sobre "todo es literal hasta que lo hagas haml con a%
.attr="value"
), mientras que Haml se parece más a Ruby ({key: "value"}
a Hash).https://github.com/scalp42/hamlerbslim : es un punto de referencia independiente que muestra a Slim y Erb como ganadores, en cuanto al rendimiento (Slim tiende a reducir el tamaño de salida HTML también).
Mi opinión personal es que, en general, Slim y Haml le permitirán ahorrar tiempo (== dinero) en términos de mantenimiento, siempre que tenga personas conocedoras de Haml / Slim cuidando sus puntos de vista.
Si no tiene a esas personas, Erb es definitivamente el camino a seguir, porque a pesar de la mejor voluntad del mundo, hay muchas personas muy económicas disponibles que pueden trabajar con HTML / Erb, pero encuentran Haml / Slim un completo misterio.
Lo mejor de todos los casos es capacitar a estas personas para que utilicen Slim o al menos exponerlas a él, y mantener los números de quienes "lo entienden".
fuente