/ 05.Sep.2007 at 12:03am
Eu vejo pouca gente comentando por aqui mas para quem gosta de abstrações, deveriam tentar Markaby. Para que serve? Que tal ‘escrever XHTML em Ruby’. Quem acha que templating tradicional é “feio”, existem opções muito simples e atrativas.
Instale assim:
1 2 3 |
script/plugin install
http://code.whytheluckystiff.net/svn/markaby/trunk
|
Para que ele serve? Como o próprio nome diz: para escrever markup (HTML) em Ruby:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
html do head do title action_name stylesheet_link_tag 'scaffold' end body do h1 'Listing products' table.editor.classic do tr do for column in Product.content_columns th column.human_name end end for product in @products tr do for column in Product.content_columns td product.send(column.name) end td { link_to 'Show', :action => 'show', :id => product } td { link_to 'Edit', :action => 'edit', :id => product } td { link_to 'Destroy', { :action => 'destroy', :id => product }, :confirm => 'Are you sure?' } end end end link_to 'Previous page', { :page => @product_pages.current.previous } if @product_pages.current.previous link_to 'Next page', { :page => @product_pages.current.next } if @product_pages.current.next br link_to 'New product', :action => 'new' end end |
Interessante. Eu pessoalmente prefiro o XHTML puro (uso o ERubis, que é um ERB mais performático e para o desenvolvedor é transparente).
Outra opção semelhante ao Markaby é o HAML. A instalação é o de sempre:
1 2 |
./script/plugin install
http://svn.hamptoncatlin.com/haml/tags/stable
|
De acordo com o tutorial do HAML, este é um XHTML feio>
1 2 3 4 5 6 7 8 9 10 11 |
<div id='content'> <div class='left column'> <h2>Welcome to our site!</h2> <p> <%= print_information %> </p> </div> <div class="right column"> <%= render :partial => "sidebar" %> </div> </div> |
E esta é a versão que vai gerar o mesmo resultado, mas escrito em HAML:
1 2 3 4 5 |
#content
.left.column
%h2 Welcome to our site!
%p= print_information
.right.column= render :partial => "sidebar"
|
6 Comments
O HAML é muito bom mesmo, e a próxima versao dele vai ter um ganho de performance grande, chegando perto do ERB normal.
o SASL é um extra do pacote HAML que permite ter a mesma agilidade com o CSS.
Mas eu gostei do Lilu que é parecido com o esquema de templates do TYPO3 . Esse vai ser legal para usar em CMS ou applicações com diferentes layouts.
marcus derencius / 05.Sep.2007 at 09:52am
Vou experimentar o Erubis (the flash) Gosto do “feio” html contanto que ele seja usado somente pra marcação, o design fica pro css
lauro / 05.Sep.2007 at 02:09pm
Em minha modesta opiniao, a programacao funciona melhor quando feita proxima ao produto final, ou dominio. Se o objetivo e produzir (x)HTML, entao migrar de ERB para Markaby se torna ilogico. Tanto markaby quanto HAML me parecem truques interessantes e otimos exercicios de design, mas podem se tornar abstracoes desnecessarias. Uma possivel vantagem seria a chance de reuso mais elegante das instrucoes layout, sem ter que apelar tanto para helpers e partials.
sergio pereira / 05.Sep.2007 at 08:35pm
Concordo plenamente. De qualquer forma eu acho que o exercício é válido, nunca é demais tentar, mas eu também não usaria.
Este post foi destinado àqueles que acreditam que escrever XHTML/”templating” é ruim. XHTML é bastante simples, a complexidade está no CSS/imagens a serem usadas.
Alguns vão preferir – por diferentes razões – usar 100% Ruby. Se esta necessidade existir, eis as alternativas.
De qualquer forma, eu continuo no ERB, que é simples, não-obstrusivo e faz exatamente o que queremos que ele faça: páginas Web. No máximo eu recomendo testar o Erubis que é a mesma coisa que o ERB mas com mais performance.
Quanto ao reuso é outra caixa de pandora: podemos criar mecanismos de reuso bastante sofisticados, taglibs, etc, mas no final vamos achar tão complicado que acabamos voltando ao básico. Talvez exista uma implementação que eu ainda não conheça. Alguém tem alguma sugestão?
akitaonrails / 05.Sep.2007 at 10:54pm
Akita, o Erubis altera muito (se altera) a forma de escrever páginas e templates?
lucas / 06.Sep.2007 at 12:07pm
Teoricamente não. Estou usando num projeto neste momento. Eu comecei usando Rails padrão (ERB) e num determinado momento pluguei o erubis e nenhum .rhtml quebrou. Os testes funcionais continuam passando também. Vale a pena experimentar.
akitaonrails / 06.Sep.2007 at 12:09pm
Leave a Comment