Debate: As constantes mudanças do Grails
04/08/2014 11:12
1
Bom dia pessoal,

Gostaria de gerar um debate com vocês sobre as novas versões do Grails. Assim como mencionei em um outro post, estou voltando para o desenvolvimento com esta ferramenta (A última vez que peguei no Grails, ainda era a versão 1.0). Estou tendo algumas dificuldades com o desenvolvimento devido as constantes mudanças no framework e gostaria de saber de vocês, o que acham disso?

Vou citar um exemplo: Alguns plugins encontram-se desatualizados devido a essas constantes mudanças, e portanto não funcionam como deveriam, como por exemplo o Excel import (http://grails.org/plugin/excel-import) que afirma funcionar nas versões posteriores ao Grails 2.0, mas que na versão 2.4 já não funciona mais (algumas classes foram removidas).

Então eu queria apenas gerar um debate sobre essa questão:
O que vocês acham das constantes mudanças do Grails? Isso ajuda na popularização do framework?

Isso é apenas um debate, assim como todos vocês, sempre gostei muito do framework e estou utilizando-o em alguns projetos! :)
Tags: Grails, Versões


0
Um outro exemplo que acabo de descobrir é o plugin Activiti, pois as novas versões do Grails não possuem mais a classe: org.codehaus.groovy.grails.commons.ApplicationHolder.
04/08/2014 11:17


0
Oi Celso,

o grande problema com todo framework que usa o conceito de extensões (plugins) é justamente este que você mencionou. Me lembro de algum tempo atrás quando saiu o Ruby on Rails 3.0 e foi publicado um artigo, se não me engano do próprio DHH, dizendo que o upgrade do BaseCamp (projeto mais famoso em Ruby on Rails se não me engano) havia sido um sucesso justamente por que o uso de plugins neste projeto havia sido bastante limitado.

É uma situação extremamente complicada: por um lado, quando você vai lançar uma nova versão do framework, é saudável deprecar algumas classes, fazer uma limpeza. Por outro, quando você possuí uma arquitetura de plugins, tem de fazer de tal modo que evite-se com isto quebrar a compatibilidade.

O grande problema que vejo não é nem o Grails em si, mas os autores dos plugins que, muitas vezes, ao invés de usarem a interface provida pelo framework, codificam contra a implementação concreta: aí, já viu. Dá merda mesmo.

O que costumo fazer com relação aos plugins é sempre manter comigo o código fonte deste. SEMPRE. Como é um projeto Grails, em último caso eu mesmo dou a manutenção naquilo e aí irá funcionar com a nova versão do Grails.

Tirando isto, algo que também devemos fazer sempre, mas poucos fazem, é ler a documentação do plugin e, ainda mais importante, antes de migrar o Grails, consultar a documentação do plugin. Isto ajuda a evitar muitas dores de cabeça.

De resto, é também sempre ler a seção "Upgrade" da documentação do Grails quando for ser feito um upgrade. Lá normalmente você evita outra grande leva de problemas.

E finalmente, considerar se realmente vale à pena o upgrade do Grails. Muitas vezes você tem um projeto que executa perfeitamente bem em uma versão mais antiga do Grails, olha para a nova, e vê que não há nada que vai agregar de verdade ao seu projeto.

Interessante lembrar que na Semana Groovy 9 (http://www.itexto.net/devkico/?p=1925) abri justamente falando sobre o comando "grails upgrade", que agora é considerado deprecado. Vale à pena a leitura.

(amei esta discussão, vai pro Semana Groovy #10 :) )


0
Eu particularmente acho que as atualizações do framework são necessárias, e que nós desenvolvedores devemos ter atenção ao utilizar esses plugins. São necessário mas requerem uma atenção especial.

Eu mesmo só uso quando é muito necessário, quando não é faço manualmente mesmo.
05/08/2014 09:31


0
hmm Compreendo. Então nesse caso devemos ter um pouco mais de cuidado ao depender desses plugins. Acho que o Grails deveria olhar um pouco mais para isso, emitir algum alerta para os plugins que foram afetados, porque aparentemente está tudo ok, mas quando você instala, não funciona nada! Além disso, esses plugins estão na página oficial do Grails, o que ao meu ver, perde um pouco a credibilidade em relação ao framework.
05/08/2014 09:37


0
Outro aspecto que verifiquei foi a questão da mudança de alguns frameworks nativos, como no caso dos testes Spock que foram incluídos na versão 2.3 (eu acho!). Para mim, foi uma grande mudança, pois nunca havia trabalhado com Spock. Além desse, a inclusão do comando Respond, que eu não encontrei nenhuma documentação interessante no site à respeito disso.

Na verdade, isso não são pontos negativos, pelo contrário, fazem parte da evolução do framework, mas fica um pouco difícil encontrar uma boa documentação, como um tutorial completo ou encontrar livros que estejam de acordo com a versão atual do Grails.

Resumindo, eu acho que poderiam fazer um novo livro de Grails! kkkk...
05/08/2014 09:50


1
Mas esse é um problema que todos os frameworks enfrentam. Exemplo é o rails, que tem vários livros que abordam a versão 2.3 e 3, que já perderam a validade há tempos.

Quanto ao livro, o Kico tá fazendo um :)

Outro problema que eu vejo, é que tem muito plugin que não é atualizado há tempos, tipo 2012. Poderiam fazer uma limpa nos plugins, ou emitir um aviso informando que o plugin pode não funcionar.


0
@celsoagra, infelizmente acredito que isto seja impossível. A parte deles é feita, que é no release notes do framework informar o que foi alterado. O máximo que podem fazer é garantir que os plugins mantidos pela Pivotal sejam compatíveis.

Cabe é aos autores dos plugins ler primeiro esta documentação e fazer as alterações necessárias lançando uma nova versão. Em seguida, cabe a nós, usuários, puxar a orelha dos autores dos plugins para que atualizem seu código fonte ou então, em último caso, nós mesmos fazermos o fork ou escolher outra opção.

Com relação ao Spock também não gostei do que foi feito. Eu estava até a versão 2.2 já bem acostumado com o JUnit e de repente veio o Spock na 2.3 como o framework padrão. Pra piorar, neste csao a documentação não foi atualizanda naquele release informando como usar o novo framework, etc. Foi uma pisada de bola ali, mas depois acabaram arrumando no próximo release corretivo (o que foi ótimo).




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