Lançado J2EE Spider 1.0.0-M1

Pessoal, depois de um tempo de desenvolvimento interno, tenho o prazer de anunciar o “salto” da versão 0.3.0 para 1.0.0-M1 do SPIDER.

Mundaça de versão
A decisão dessa alteração se deu porque neste começo de projeto, em vez de liberar sub-versões com poucas alterações, eu resolvi ficar um tempo desenvolvendo um conjunto de features que achava necessárias e prioritárias antes de liberar para vocês. Isso inclui o suporte a geração de CRUD, que é um dos principais recursos do produto e ainda não havia sido implementado.

VÍDEO
Como de costume estou disponibilizando um vídeo demonstrativo para avaliarem alguns detalhes da ferramenta. Espero que gostem e não deixem de avaliar outros pontos que não puderam ser mostrados no vídeo (para não ficar mais extenso do que já estava):

Sobre o projeto
Para quem não conhece o projeto, é um bom momento para assistir e analisar o que está perto de ser a versão 1.0.0, e ver qual a abordagem utilizada no projeto para ganhar produtividade no dia a dia do desenvolvimento de projetos JEE.
Apesar da ferramenta estar ficando bastante interessante, ou em outras palavras - fácil de criar projetos com alguns clicks, devemos lembrar mais uma vez que o objetivo não é substituir as pessoas e sair criando projetos utilizando somente o SPIDER. O objetivo é eliminar as tarefas repetitivas que temos no dia a dia, como configuração de projetos, erros na integração de frameworks ou tirar das costas do desenvolvedor a responsabilidade de codificar artefatos que não possuem regras de negocio e uma ferramenta poderia criar em determinados contextos. As pessoas (nós desenvolvedores) podemos ser mais produtivos se estivermos mais focados nas decisões tecnológicas e regras de negocio da aplicação (só para citar alguns) e menos focado em infra-estrutura do projeto.
A idéia é ir mais direto ao ponto sobre as necessidades do cliente ou dos projetos usando uma IDE fácil, intuitiva, com muitos recursos e customizável.

Qualquer critica ou sugestão é bem vinda.
Segue em anexo o changelog com as principais alterações.

Problemas conhecidos:

  • No grid do CRUD tem uma opção de campo obrigatório (um checkbox), mas ele não está funcionando porque eu não implementei nenhum código para ele ainda. Mas esse recurso pode ser usado usando o popup de validação.

Issue Tracker
Demais bugs podem ser cadastrados em:
http://jira.j2eespider.org

Vou viajar na sexta agora e volto só na semana seguinte ao carnaval. Enquanto isso avaliem e tentarei acessar a net de uma lan-house de vez enquanto e passar por aqui. Quando voltar estarei postando notícias e começando a divulgar essa release fora do Brasil também.

Deu trabalho, mas tá ai… =)

Abraços,

Interessante! vou dar uma olhada…

Parabéns :smiley:

Em uma ocasião li um artigo sobre o Projeto Spider , vamos ver o que traz esse Release novo…

Abraçoss

opa…

:stuck_out_tongue:
otimo…

Em uma discussão sobre Geração de Código em outro tópico (de outra ferramenta) eu postei um texto que se encaixa bem a esse tópico.
Esse texto foi retirado de um artigo que escrevi para revista Mundo Java de maio de 2007 - número 23:

[quote]
Geração de Código
Um gerador de código é uma ferramenta capaz de gerar artefatos através de diagramas, dados ou comandos.
Um fato curioso é que alguns desenvolvedores Java são um pouco resistentes ao termo “Geração de Código”. Dada à diversidade de ferramentas dessa área, não podemos tirar toda a razão dessas pessoas. Muitos de nós talvez tenham se deparado com projetos que prometiam criar um sistema por completo usando geração de código, porém entendemos que isso não é a realidade do dia a dia. Não podemos substituir as pessoas, os programadores, criar regras de negócios automaticamente, prever e implementar soluções para todos os cenários somente gerando código. O computador não possui autonomia para sozinho atender aos nossos clientes exigentes =)… Muito menos foi projetado para tomar decisões no lugar das pessoas.
Então, para que serve geração de código? É algo ruim como alguns desenvolvedores imaginam? Vai gerar código que não preciso e atrapalhar o meu projeto?
A resposta é não! Geração de código não é ruim, não vai atrapalhar o seu projeto e nem tem o objetivo de criar código totalmente pronto.
Lógico que conhecemos algumas ferramentas que prometem mágica, mas essas falsas promessas são das ferramentas e não do conceito de geração de código.

Por falar nisso, vamos explorar um pouco desse conceito:
Se pararmos para pensar, todo projeto tem geração de código. Quer o desenvolvedor goste ou não.
Exemplos:

  • Um wizard da IDE para criar novos projetos é um gerador de código. A partir de dados informados pelo usuário, a ferramenta vai gerar artefatos (arquivos).
  • Por mais estranho que possa parecer, a compilação de código Java em arquivos class é geração de código. A partir de comandos de uma linguagem (Java) são gerados artefatos de outra linguagem (um ou mais arquivos class para cada arquivo java).

Esses exemplos para alguns pontos de vista podem parecer polêmicos. A verdade é que não existe uma definição única e fechada sobre geração de código. Vejamos por exemplo o que diz a Wikipedia:
“Gerador de Código é aquela ferramenta que possui a capacidade de gerar código a partir de um determinado modelo de software. Inclusive, de acordo com alguns pontos de vista e a partir das características específicas do tipo de Gerador de Código, ele passa a ser conversor de códigos de linguagens distintas. Isso acontece, por exemplo, com o compilador, que transforma um código escrito através de uma linguagem de programação para código de máquina ou código objeto.”

Já Kathleen Dollard em 2004 no livro Code Generation in Microsoft .NET, foi mais genérica ainda ao definir: ?Geração de código é o código que gera código?. Em 2003, Jack Herrington no livro Code Generation in Action preferiu dividir a geração de código entre passiva e ativa. Onde os wizards seriam um exemplo de geração passiva, pois não mantém responsabilidade com o código gerado ? qualquer alteração depois da geração é realizada pelo desenvolvedor manualmente, e o tipo ativo que segundo ele mantém a responsabilidade - um código poderia ser gerado em ciclos e quando precisasse de alterações o desenvolvedor recorreria novamente a ferramenta de geração, forneceria novos dados e seria gerado o código de novo.

Preferimos não dividir a geração de código em tipos, até porque seguindo ao pé da letra as definições de Herrington, nosso projeto não tem geração de código 100% ativa nem passiva, ele é orientado as necessidades do desenvolvedor, podendo se comportar das duas formas no mesmo projeto inclusive. O que temos que ter em mente é que se havia alguma dúvida, agora é fato: a Geração de Código faz parte do dia a dia dos desenvolvedores e todos a utilizam, mesmo sem perceber. Ela é extremamente importante para evitar tarefas repetitivas ou trabalhosas, já que muitas podem ser automatizadas de alguma forma para ganhar produtividade. Só devemos lembrar que em nenhum momento a geração de código tem como objetivo fazer tudo sozinha.

Nos próximos tópicos, vamos avaliar como é a geração de código implementada pelo SPIDER e porque ela é interessante, sendo inclusive mais flexível do que muitas ferramentas que temos visto atualmente. [/quote]

Para ler o artigo completo, compre a revista :stuck_out_tongue: (não posso postar aqui, é claro…)

Fala Bruno, parabéns pelo Spider…

Bruno, parabens pelo esforco, projeto e release!