↓ Arquivos ↓

Arquivo → September, 2009

Grails não é bala de prata

Na minha opinião, Grails é uma das melhores coisas que poderiam ocorrer para a comunidade Java. Não tenho dúvidas com relação a isto, e por uma razão muitos simples: Grails é desenvolvimento web na plataforma Java como sempre deveria ter sido: simples, direto e intuitivo. Porém tenho um conselho para você: não espere milagres.

Minha experiência com aqueles que estão iniciando o aprendizado do framework é a de que 90% das pessoas se maravilham com a ferramenta não pelos três atributos que mencionei acima (simples, direto e intuitivo), mas sim devido a um certo deslumbramento com o scaffolding.

Gostaria de deixar claro algo para vocês que acreditam nos “poderes maravilhosos do scaffolding”: scaffold em inglês significa nada mais, nada menos que andaime, ou seja, é apenas um esqueleto em cima do qual você pode construir sua aplicação, e não a aplicação em si.

Acho que a melhor maneira de descrever o tamanho deste equivoco consiste em expor uma analogia. Suponhamos que um dia você contrate uma firma de engenharia para construir a sua casa. Como não entende nada de construção, ao menos inicialmente há alguma confiança na competência dos arquitetos, engenheiros e equipe de construção, correto? Agora, imagine que ao ver o resultado final, você fique maravilhado com a aparência de sua casa.

Em um segundo momento, você irá notar que há vários detalhes na construção que lhe são familiares em outras construções. As mesmas maçanetas, estilos de janelas, portas, cores. Neste segundo momento, você começa a perceber que na realidade, o arquiteto responsável pela obra não sabe o significado da palavra criatividade.

E então chega o terceiro momento: aquele no qual você se muda para esta casa. Passada a primeira semana, os problemas já começam a aparecer. As torneiras não funcionam tão bem, as paredes não parecem ser tão sólidas, e você simplesmente não sente segurança na construção. PUm belo dia você irá pregar um quadro na parede e na terceira martelada um buraco gigante surgirá em sua parede, expondo um andaime por trás da mesma como sua estrutura.

Soa exagerado? Pois vou lhes contar uma coisa: tenho visto diversos sistemas que são inteiramente baseados em scaffolding. O sujeito começa a aprender Grails, satisfaz-se em apenas criar as classes de domínio. Não haveria problema algum se estes sistemas fossem feitos visando o aprendizado. O problema é que muitos estão sendo vendidos. Ponha-se no lugar de quem está comprando estes sistemas.

É aí que o scaffolding começa a mostrar a sua face real: porque para fazer com que sua aplicação tenha algum diferencial, o mínimo que o desenvolvedor precisa saber é Groovy. Precisa compreender que o scaffolding na realidade só serve para adiantar algum trabalho. Trabalho este que, numa boa? Normalmente não passa de 15% (estou chutando o número) do trabalho total.

Pode alguém aprender Grails e depois aprender Groovy? Sim, pode. No entanto, em algum momento esta pessoa vai ter de APRENDER Groovy, e no mínimo saber o que significa MVC. E isto, acreditem, em diversos casos não tenho visto acontecer. Sendo assim, gostaria de acabar aqui com alguns mitos sobre Grails.

Grails não é um gerador de código: ele gera algum código para você, é verdade, mas em uma aplicação real, raras vezes este código chegará a 10, 15% do trabalho. Mesmo que chegue, será um código que, nestes casos, sofrerá diversas customizações, tornando-se ao final do processo algo completamente diferente (ou seja, não chegará a 5% do total)

Groovy não é supérfluo: sim, se você quiser desenvolver algo de valor REAL, conhecimento da linguagem é essencial. Saber descrever alguns atributos em suas classes de domínio e validações não é suficiente.

Grails não tornará fácil o desenvolvimento de aplicações: apesar de remover boa parte da burocracia presente na plataforma Java EE, desenvolver uma aplicação SEMPRE é um processo complicado, que requer atenção, bom projeto, disciplina e competência. Grails não é um framework para quem não sabe programar.

Conhecer a plataforma Java é obrigatório: pelo menos o conhecimento mínimo é necessário. Lembre-se: sua aplicação irá para um container JEE, executado em uma JVM. É possível saber apenas Groovy e não Java (a linguagem)? Claro! Porém Groovy é baseado em Java, e as classes básicas do framework PRECISAM ser conhecidas.

Resumindo: se você realmente acha que Grails irá tornar o desenvolvimento de aplicações algo fácil, não gaste seu tempo com Grails, mas sim aprendendo o que é desenvolvimento de sistemas.

Palestra interessante: como iniciar sua carreira de consultor

Escutei uma palestra muito interessante de John Carter, que é um consultor da área de TI de bastante sucesso nos EUA (não o conhecia até ouvir esta palestra) no site IT Conversations. O título da palestra é “Fire Your Boss and Start Consulting”, e pode ser acessada em http://itc.conversationsnetwork.org/shows/detail4179.html

(aliás, recomendo o site IT Conversations (http://www.itconversations.com), que possui algumas palestras e conversas muito legais. Costumo acessar este site para acompanhar as do StackOverflow, que sempre são muito divertidas)

Recomendo esta palestra porque, basicamente, contém diversos conselhos interessantes para aqueles que, assim como eu, trabalham na área de TI como pessoa jurídica. Segue alguns dos pontos que achei interessantes:

  • Por que as pessoas procuram um consultor
  • Como cobrar (é apresentada uma fórmula muito interessante: pegue quanto você ganha por ano e divida por 1000. este será o valor de sua hora)
  • Os principais problemas enfrentados pelos consultores
  • A questão dos benefícios (no caso dos EUA, porém é possível perceber paralelos com o Brasil)
  • Como angariar clientes
  • A importância dos sistemas de gerenciamento/apropriação de horas
    (este ponto achei interessante, porque sempre tive um certo preconceito contra este tipo de software, porém os argumentos apresentados são bem interessantes)
  • A importância vital das métricas de negócio

Bom, espero que gostem. Assim poderemos discutir mais a respeito depois. Fica a dica.

Livro “A arte do Desenvolvimento Ágil”:bacana, porém com tradução de merda

Recentemente terminei de ler o livro “A Arte do Desenvolvimento Ágil”, de James Shore e Shane Warden, publicado aqui no Brasil pela Alta Books. Venho me dedicando ultimamente a me aprofundar no assunto, sendo assim, como já havia lido algumas resenhas do original em inglês, ao encontrar em uma livraria o memso já traduzido para o português a compra foi imediata.

O foco consiste na XP. Ok com relação a isto. Afinal de contas, como nunca havia lido algo de mais profundo a respeito (apenas diversos artigos em revistas e na Internet), seria uma experiência interessante.

De fato valeu a pena: a abordagem do livro é muito bacana. Boa parte do foco diz respeito ao modo como se deve implantar metodologias ágeis em ambientes mais tradicionais de desenvolvimento, o que cai como uma luva para o meu caso. Encontrei diversas sugestões que, quando coloquei em prática, REALMENTE me ajudaram MUITO a solucionar uma série de problemas com os quais me deparava já havia algum tempo.

Outro ponto que gostei DEMAIS são as seções de perguntas e respostas. Na maior parte das vezes, parecia que o autor sabia exatamente quais eram as dúvidas que haviam surgido na minha cabeça ao finalizar o capítulo.

Também é muito legal o fato de ficar nítido desde o início não se tratar do trabalho de autores deslumbrados com XP. Na realidade, muito pelo contrário, em todos os capítulos sempre há uma seção chamada “Contra indicações” aonde são expostos os casos aonde algumas das práticas da XP (e a própria XP) não devem em hipótese alguma serem adotadas.

Quando alguma prática não é viável para determinadas situações, o livro também vêm com seções chamadas “Alternativas”, aonde, como o próprio nome já diz, são expostas outras abordagens às práticas da XP. No meu caso, estas se mostraram valiosíssimas, pois como sofro com a falta de alguns dos recursos básicos (como por exemplo uma equipe maior), as alternativas se mostraram as únicas soluções viáveis para alguns dos meus problemas.

Resumindo, é um livrão.

Um livro excelente com um trabalho de revisão e tradução que é um LIXO

Pra começar, há diversos erros de português. Ora, não é trabalho da editora AO MENOS passar um corretor ortográfico? Quando você encontra um capítulo entitulado “Evitando o Disperdício” (capítulo 13), e, no transcorrer de TODO O TEXTO, o revisor não ter notado que se escreve “o cenário”, e não “a cenário”, é sinal de que simplesmente não há revisão. Plural por exemplo é algo que, tenho certeza, trata-se de um conceito desconhecido para o tradutor/revisor deste livro.

Na realidade, o trabalho de tradução e revisão do livro é tão porco que em alguns momentos preferi consultar algumas das palavras que encontrei no site da O’Reilly (http://oreilly.com/catalog/9780596527679/) para ver se REALMENTE eram o que eu estava pensando. Quando este tipo de situação ocorre, tenha certeza: não é o reslutado de um trabalho de excelente qualidade.

Em alguns pontos, são feitas traduções literais que chegam ao ridículo. Por exemplo: o que você acha que é um “desenvolvimento em 10 minutos”? Respondo: “Ten Minute Build”. E esta é apenas uma das pérolas que encontrei.

Compro ou não compro?

Apesar de todos estes problemas com a revisão/tradução do livro, repare no que escrevi acima:

“o trabalho de tradução e revisão do livro é tão porco que em alguns momentos preferi consultar algumas das palavras que encontrei no site da O’Reilly”

Se o CONTEÚDO do livro tivesse a mesma qualidade que a sua tradução/revisão, com certeza eu não teria me dado a este trabalho. Sim, no final das contas, a leitura valeu MUITO à pena. A pergunta que deveria ser feita neste ponto portanto é: compro a tradução nacional? Só se for a sua única opção. Caso seja este o seu caso, siga o meu conselho: tenha o site da O’Reilly aberto ao seu lado durante a leitura, pois com esta tradução…

It seems that brazilians REALLY like Grails!

Recently I wanted to know how well positioned was Grails Brasil. Well, for my surprise, quite well! Taking in consideration the number of registered members, we are the largest Grails community on the planet!

Using as a base the list of user groups on the Grails official website (http://www.grails.org/User+Groups) and the number of registered members on the groups listed there, we can see that Grails Brasil is by far the largest one. Isn’t that neat?

So, here is the list based on the stats of september 5, 2009:

User Group Registered members
Grails Community at OSUM 28
Belgium Groovy and Grails User Group 8
Grails Brasil 562
Montreal Groovy/Grails User Group 9
Toronto Groovy and Grails User Group 11
Vancouver Groovy and Grails User Group not available
The Egyptian Groovy and Grails User Group not available
French Grails User Group not available
Indian Groovy and Grails User Group 99
Mexico Groovy and Grails User Group not available
Dutch Groovy & Grails User Group 49
Philippine Groovy/Grails Users Group 72
Russian Developer Group not available
Grails Singapore 4
grails.sk não divulgado
Groovy and Grails User Group Switzerland 47
SweGUG – Groovy, Grails & Griffon User Group 32
Thai Grails User Group 116
Ukranian Grails User Group 20
The London Groovy and Grails User Group not available
The North West Grails User Group not available
Chicago Groovy User Group not available
SF Bay Groovy and Grails Meetup Group 155
Groovy Users of Minnesota 224
The New York Groovy / Grails Meetup Group 107
Boston Grails Users’ Group 44

Of course, this list doesn´t take in consideration the number of registered members in mailing lists like the official one. This fact just made me wonder: why Grails is SO popular here in Brazil? What do you think about it?

Does now that I’m telling this “little fact” to the world, Spring will pay more attention to Brazil? ;)

*Update: recently I had to remove some of your subscribers, but we’re still big, with 506 members!

Em número de usuários registrados, Grails Brasil é o maior grupo de usuários Grails do mundo

Recentemente resolvi fazer uma pesquisa para descobrir, dentre os grupos de usuários de Groovy e Grails (foco em Grails) aonde se situava o Grails Brasil.

Eis o resultado: em número de usuários registrados, Grails Brasil é de longe (apenas o grupo de Minessota chega perto de nós com 224 usuários) o maior do mundo, levando-se em consideração o número de usuários registrados (562).

A listagem dos usuários foi obtida no site oficial do Grails: http://www.grails.org/User+Groups

Segue a lista, com os dados de 5 de setembro de 2009:

Nome Número de usuários registrados
Grails Community at OSUM 28
Belgium Groovy and Grails User Group 8
Grails Brasil 562
Montreal Groovy/Grails User Group 9
Toronto Groovy and Grails User Group 11
Vancouver Groovy and Grails User Group não divulgado
The Egyptian Groovy and Grails User Group não divulgado
French Grails User Group não divulgado
Indian Groovy and Grails User Group 99
Mexico Groovy and Grails User Group não divulgado
Dutch Groovy & Grails User Group 49
Philippine Groovy/Grails Users Group 72
Russian Developer Group não divulgado
Grails Singapore 4
grails.sk não divulgado
Groovy and Grails User Group Switzerland 47
SweGUG – Groovy, Grails & Griffon User Group 32
Thai Grails User Group 116
Ukranian Grails User Group 20
The London Groovy and Grails User Group não divulgado
The North West Grails User Group não divulgado
Chicago Groovy User Group não divulgado
SF Bay Groovy and Grails Meetup Group 155
Groovy Users of Minnesota 224
The New York Groovy / Grails Meetup Group 107
Boston Grails Users’ Group 44

Claro: não levei em consideração aqui as listas de e-mail, apenas os grupos de usuários presentes na listagem do site oficial do Grails.

Sendo assim, abro o questionamento: na opinião de vocês, quais as razões desta popularidade do Grails?

Qual é mesmo aquela string de conexão com o SGBD?

Segue uma dica de site REALMENTE útil e que, para minha surpresa, é pouquíssimo conhecido por aqui: www.connectionstrings.com.

Como o próprio nome já diz, trata-se de um website cujo único e exclusivo assunto consiste em strings de conexão para quem trabalha com a plataforma Microsoft (infelizmente não há strings de conexão para JDBC). Em alguns casos, é possível entrar com alguns dados em formulários para que a sua string de conexão seja gerada de maneira customizada.

Se assim como eu, de vez em quando se faz necessário por exemplo criar rotinas em VBA para importação de dados para bancos de dados (sendo estes o mais variados que você possa sonhar), este é O site para iniciar o seu trabalho (aliás, percebo que sou viciado neste site, pois de tanto usá-lo, é no mínimo suspeito eu não ter decorado algumas das strings de conexão que mais uso).

Segue portanto a dica: www.connectionstrings.com

Upgrade gigante no Grails Brasil

Esta é uma grande semana para o Grails Brasil, pois diversas melhorias finalmente foram implementadas no site, dentre as quais, a mais importante consistiu no upgrade do motor utilizado pelo site. O phpBB foi atualizado para a versão 3.0.5 que, de fato, é muito superior à 2.0.

Dentre as novidades, as mais importantes consistem em:

  • SPAM: yeap, não temos mais este problema no Grails Brasil agora. Se você acompanha o Grails Brasil há algum tempo, sabe a luta que foi este problema. Captchas eram implementados, porém não duravam mais do que algumas semanas. E por mais que lutassemos para apagar as mensagens indesejadas (aqui entra o meu MUITO OBRIGADO aos moderadores), estas acabavam entrando no feed do site, tornando-o inútil.
    A solução para o problema foi, no entanto, mais simples do que o esperado: de agora em diante, qualquer um que deseje se registrar no Grails Brasil deverá passar por uma pré-aprovação dos moderadores. É a única maneira de se evitar que os bots invadam nosso sistema.
  • Novo layout: estou alterando o layout do Grails Brasil. Acredito que agora temos um site mais próximo do “espírito Grails” atual. No entanto, o trabalho ainda não está perfeito (conto com as opiniões de vocês: http://www.grailsbrasil.com/viewtopic.php?f=7&t=714). A propósito, o que acharam do novo logotipo?
  • Grails Brasil no twitter: é possível agora acompanhar tudo o que acontece por trás do Grails Brasil via Twitter: http://www.twitter.com/grails_brasil
  • Feed atualizado: nesta história, o nosso motor de feed (RSS) também foi atualizado. Para configurar o seu leitor de RSS, acesse o seguinte endereço: http://www.grailsbrasil.com/smartfeed_url.php
    Tal como o anterior, o usuário configura quais fóruns deseja acompanhar, gerando assim a URL que será usada pelo seu browser/leitor de feeds.
    Há algumas opções a mais nesta nova versão, como por exemplo a possibilidade de gerar html seguro, dentre outros pequenos detalhes.

Porém, o trabalho ainda está longe de finalizado. Sempre há melhorias que podemos implementar. Sendo assim, peço-lhes que me enviem suas opiniões a respeito do que podemos melhorar no site. TODA opinião é bem vinda.

Espero por todos vocês portanto no novo Grails Brasil: http://www.grailsbrasil.com.br

Get Adobe Flash playerPlugin by wpburn.com wordpress themes