Criar componentes reutilizaveis com grails?
20/12/2012 18:01
0
Conheço o Grails a bastante tempo, mas nunca utilizei em nenhum projeto da minha empresa, sempre optei pelos frameworks MVC mais tradicionais e ultimamente, trabalho bastante com o Wicket.
O Wicket segue uma filosofia diferente do Grails, pois ele "esconde" de certa maneira o padrão WEB com request/response e ao invés disso, o desenvolvedor vai criando componentes em Java ligados a um elemento do HTML. Estes componentes funcionam de uma maneira muito parecida que em uma aplicação desktop. Eles tem eventos que são chamados a medida que o usuário interage com a aplicação.
Uma coisa muito interessante que o Wicket permite fazer é criar componentes que podem ser reutilizados e redistribuidos para outros desenvolvedores. Você cria um HTML, uma classe em Java com os componentes ligados ao HTML e pronto. A partir deste momento você pode usar o componente em qualquer página. Uma coisa interessante que o wicket me permite é que o componente em questão escreva códigos dentro da tag HEAD do html da página em que você quer adicionar o componente. Isto é interessante se você por exemplo quer criar um componente que dependa de uma biblioteca em javascript. Em todas as páginas que o programador inserir o componente, o componente irá fazer o include para o javascript na tag head da página.
Indo agora para o mundo Grails, sei que dá para criar componentes reutilizáveis usando taglibs. O problema é que se eu for utilizar o componente mais tarde, eu tenho que lembrar dos includes de javascripts e CSSs necessários para o funcionamento do componente. A questão é: existe uma maneira de criar componentes em Grails com as mesmas facilidades que tenho com o Wicket? O que você sugerem?
Tags: grails componente


0
Carlson,

O Resources Plugin do Grails deve lhe ajudar bastante - e já vem embutido nas ultimas versões.

Resources Plugin
http://grails.org/plugin/resources

Sobre a questão de componentes visuais, eu estava conversando com o Marc Palmer sobre isso e ele revelou o projeto Platform UI que vai trazer algo robusto para área de componentes visuais no Grails, abstraindo a camada visual de detalhes internos (ex.: g:autocomplete sem precisar conhecer JQuery) além de suporte à temas dentre outras coisas.

Plataform UI Plugin
http://grails.org/plugin/platform-ui

Grande abraço!
Wanderson Santos (@wanswins)


0
Não tão visual, mas uma alternativa interessante de componentização com o Grails é a própria arquitetura de plugins também. Você pode criar um plugin só pra conter suas taglibs por exemplo.

A sua pergunta é interessante Carlson, porque você precisa de algo que o Grails não tem que é o pré-processamento da página antes desta ser enviada para o cliente, tal como ocorre, por exemplo, com o JSF, em que antes é criada em memória uma árvore representando a estrutura da página, na qual a gente pode ir incluindo elementos que depois serão transformados no HTML/CSS/Javascript que chega ao cliente final.

Do ponto de vista do Grails, talvez uma solução fosse, no que diz respeito à inclusão de conteúdo, por exemplo, na tag <head>, haver a execução de um script Javascript no que é enviado para a página que possa fazer esta inclusão dinâmicamente. Não é uma solução muito massa, mas já é ao menos um passo em alguma direção (mesmo que esta seja ruim).



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto