sábado, 11 de setembro de 2010

SuperCrud Conheça!


SuperCrud para vocês entenderem melhor o que é e como funciona abaixo vou colocar uma entrevista da Globalcode com Vinicius Senger que foi o idealizador e criador do SuperCrud.

Projeto OpenSource: SuperCRUD

 

1. Como você inventou / criou o SuperCRUD ?

Aconteceu muito por acaso, estava trabalhando em um projeto pessoal quando vi a necessidade de criar umas 7 entidades novas, daquelas bem simples tipo: fabricante, marca, cor, etc. Comecei então a fazer um monte de copy-paste / find-replace para cada entidade. Achei que rapidamente poderia fazer um gerador de códigos Java com JSP assim aproveitaria o run-time do aplicativo para ser meu engine de código e fiz uma página em JSP que recebia como argumento o nome da classe e ela gerava o fonte em Java. O único copy-paste que precisava fazer era do browser para o IDE... Deste processo fui desenvolvendo uma ferramenta baseada neste conceito: usar JSP para gerar código-fonte Java, porque não?

2. O que é o SuperCRUD ?

O SuperCRUD se tornou um engine de geração de aplicativos CRUD (create, read, update e delete) na Web. Ele tem como principais características:
  1. Pode gerar aplicativos CRUD com diferentes modelos de arquitetura: JSF puro, Seam, Spring, EJB, etc.
  2. Possui um editor de entidades: você entra no site do SuperCRUD, define seu modelo de entidades e relacionamentos (em testes) e depois escolhe um template de arquitetura. Quando clicar em gerar você vai receber um arquivo zip contendo o projeto CRUD com o conjunto de tecnologias do template.
  3. Os projetos gerados pelo SuperCRUD utilizam Maven facilitando a aquisição das dependências e deployment em diferentes application servers.
  4. Estamos agora trabalhando em novas features como: plug-in para Netbeans, melhorando relacionamento / associação de tabelas, novos templates e a mais irada é a possibilidade de no futuro se customizar os templates de arquitetura on-line e depois fazer deployment em uma cloud, como Google App Engine.

    3. Quais os maiores desafios de criar um projeto OpenSource ?

    Abrir seu código. Todos acreditamos que a ideia que tivemos é algo sensacional e no primeiro e segundo anos de concepção da ideia achamos que temos capacidade de tirar proveito comercial do software em curto prazo. O problema é que software bom demora, mesmo com os ágeis gerenciando. Tirar proveito comercial de uma idéia é algo que requer 10% de código e 90% de energia de empreendedor. Abrir o código é a melhor maneira de manter sua ideia viva, fluindo em diversas partes do mundo, dentro de uma atmosfera comercial própria que está revolucionando as formas e contratos de trabalho, conceito de localidade e posse.

    4. Houveram colaboradores no projeto que efetivamente colaboraram ?

    Apesar da comunidade hoje ter 300 membros, temos 4 colaboradores:
    • Wagner Santos: plug-in do NetBeans
    • Alessandro Lazarotti: sistema de zip e download do projeto além da migração para Seam
    • Edson Prestes: diversos apoios além do template de Spring
    • Marcelo Felix: diversos bugs, muitos.

      5. O projeto está no kenai.com, poderia contar como foi a disponibilização do projeto lá ?

      Bem, estávamos no java.net anteriormente, agora estamos testando o kenai.com. Já achava o Java.net excelente, principalmente porque temos um grande nome e pessoa na gestão do grupo de ferramentas que é a Fabi Nardon. Mas o kenai.com com sua integração com NetBeans 6.7 promete... Estamos usando Subversion no kenai.com e no java.net era CVS. Tudo isso funciona bem para o tamanho da equipe de desenvolvedores do SuperCRUD.

      6. Já foi criada alguma aplicação que foi colocada em produção com SuperCrud?

      O próprio SuperCRUD. Ele chegou em um ponto que usamos ele mesmo para acrescentar features nele. O interessante é que as arquiteturas que estão como template sim foram usadas em projetos de médio e grande porte da Globalcode.

      7. Qual você acha que é o maior benefício das pessoas que colaboram com um projeto Open Source ?

      São várias:
      • Aumentar sua rede de relacionamento;
      • Trabalhar com pessoas de todo o mundo;
      • Aumentar seus conhecimentos técnicos e adquirir experiência prática;
      • Encorpar o currículo.
      • Se você colaborar muito com projetos opens-source, como por exemplo o JBoss Seam, e quiser trabalhar na JBoss suas chances são de 95% de conseguir.
      • Melhorar seu inglês.
      Veja também dois vídeos em que o proprio  Vinicius Senger narra:


      Como funciona os Templates:








      Fonte:
      Entrevista: http://www.globalcode.com.br/noticias/EntrevistaSuperCrud
      Vídeos: http://www.youtube.com

      Nenhum comentário: