Estou aprendendo Rails e vi esses motores de template. Não tenho experiência com eles (apenas erb).
Mas como sou iniciante, estou muito confuso. Qual você sugere e por quê? Erb, Haml ou Slim? Informe o motivo de você preferir um em vez dos outros. E se você tiver alguma outra recomendação, entre em contato conosco.
EDIT: NÃO estou procurando um vencedor aqui. Eu só quero ouvir suas opiniões sobre eles, sua sintaxe, velocidade de execução e assim por diante.
ruby-on-rails
haml
erb
slim-lang
Omid Kamangar
fonte
fonte
Respostas:
ERB é bom principalmente se você tiver um web designer que trabalhe em HTML puro e não conhece haml ou slim. Desta forma, ele pode escrever HTML e você pode incorporar a lógica ruby com as tags adequadas.
Se você trabalha com lógica HTML e Ruby, ou se seu designer está pronto para aprender algo novo (como HAML), eu escolheria HAML. É muito mais amigável com o Ruby, reduz a contagem de caracteres em muito e muito mais legível do que o ERB.
Por exemplo (retirado do site oficial do HAML ):
No ERB, sua visualização será semelhante a esta:
Enquanto estiver em HAML, será semelhante a este:
Muito mais limpo!
Quanto à diferença entre HAML e SLIM - eu nunca trabalhei realmente com SLIM, mas acho que é uma questão de gosto - dê uma olhada em ambas as sintaxes e decida qual fica melhor aos seus olhos. Não acho que haja um vencedor definitivo entre os dois (HAML / SLIM).
fonte
a href="foo"
.Duas grandes vantagens de usar slim sobre haml:
Slim é atualmente cerca de oito vezes mais rápido que o haml.
Slim suporta streaming de HTTP, enquanto HAML não.
Slim tem uma sintaxe mais natural:
a href="foo.html"
fonte
No topo da minha cabeça, foi isso que eu pensei
ERB :
Prós
Contras
HAML
Prós
Contras
fonte
A questão para mim se resume a: você prefere colocar
%
antes de cada tag ou|
antes de cada novo bloco de texto?Fino:
Haml:
Mais uma coisa a se observar: haml assume um espaço em branco entre as novas linhas ( remova os espaços em branco em haml ) enquanto slim não ocupa espaço (Adicione espaços em branco no Slim aqui e aqui )
fonte
|
para cada bloco de texto%
para cada tag. Existem muito mais tags do que blocos de texto literal. Uma pequena, mas semântica vitória para mim com o slim é que qualquer html literal bruto com<>
tags usadas é precedido por um explícito|
. Eu prefiro "tudo é fino, a menos que você explicitamente torne literal com|
" sobre "tudo é literal até que você faça haml com um%
.attr="value"
), enquanto Haml se parece mais com Ruby ({key: "value"}
como Hash).https://github.com/scalp42/hamlerbslim - é um benchmark independente que mostra Slim e Erb como vencedores, em termos de desempenho (slim tende a reduzir o tamanho da saída HTML também).
Minha opinião pessoal é que, no geral, Slim e Haml vão economizar seu tempo (== dinheiro) em termos de manutenção, contanto que você tenha pessoas experientes de Haml / Slim cuidando de suas opiniões.
Se você não tem essas pessoas, Erb é definitivamente o caminho a seguir, porque apesar da melhor vontade do mundo, há muitas pessoas muito baratas disponíveis que podem trabalhar com HTML / Erb, mas encontre Haml / Slim um completo mistério.
Melhor de todos os casos, treine essas pessoas para usar Slim ou, pelo menos, exponha-as a ele, e mantenha os números de quem "entende".
fonte