Posts Tagged ‘Desktop’

Java no Desktop com Genesis e Netbeans

Saturday, August 11th, 2007

E como prometí, segue mais um capítulo da série “Desenvolvendo Software com Ferramentas Livres“, focando hoje tecnologias Java. Mas…Por que Java?

  • Porque é uma plataforma de desenvolvimento de qualidade, madura, de uso gratuito e de código aberto.
  • Porque tem excelentes frameworks de código aberto e de igual competência, que facilitam minha vida, sendo o Genesis um deles.
  • Porque tem excelentes ambiente de desenvolvimento de código aberto (sim, eu adoro essa expressão) que são de igual ou melhor qualidade que muitas soluções proprietárias.
  • Porque tem ficado cada vez mais fácil desenvolver de forma decente com Java!

Por que o Genesis?Java sempre foi mais utilizado para desenvolver aplicativos Web pois ERA muito mais viável e produtivo do que fazê-lo para aplicativos Desktop. Tendo em vista este problema, foi criado então o framework Genesis. E o que ele faz, na prática:

  • TE POUPA DO TRABALHO SUJO: Você não precisa se preocupar em como vai mostrar informações que estão nos Objetos nas Telas do seu programa (Seja uma simples propriedade que precisa ser mostrada num JTextField ou uma Lista de Objetos que precisam ser mostradas numa JList, JTable ou similares). Basta escrever 2 ou 3 linhas de código e algumas anotações java nos lugares certos para que o Genesis faça todo o resto pra você, tudo isso de forma limpa e organizada (nada mais de misturar o código de interface com o código de negócios).
  • INTERFACE E CONDIÇÕES DE FORMA FÁCIL: Sabe aquelas tarefinhas chatas, como desabilitar campo X quando o campo Y não estiver preenchido? ERAM chatas. Agora você simplesmente usa uma anotação – que nesse caso seria a @EnableWhen(’<expressão condicional>’) – e tudo se resolve. O mesmo se aplica à tarefas parecidas, como “Limpar campo quando…” (@CleanOn) ou “Mostrar campo quando…” (@VisibleWhen).
  • TE SALVA DA CHATEAÇÃO: Torna Validação, Formatação, Internacionalização, Testes na lógica de interface e Paginação de listas de dados fáceis como nunca.
  • SWING, SWT e THINLET: Qual dos três você mais gosta? Não faz diferença, pois o Genesis suporta os três!
  • E PARA AS APLICAÇÕES PARRUDAS: Integração com Hibernate, Remotabilidade transparente (e bota transparente nisso… quer executar um método remotamente? @Remotable neles e tá resolvido) e suporte à transações para os aplicativos mais sérios.

Quer mais detalhes? Visite o site oficial: http://genesis.dev.java.netPor que o Netbeans?

  • Porque com ele eu construo telas mais fácil e melhor que em qualquer outra IDE (sim, Delphi e VB não são os mais fáceis nesse quesito).
  • Porque tem refactoring.
  • Porque tenho a opção de escolher o idioma que quero usar.
  • Porque é completo out-of-the-box.
  • E porque eu gosto e é produtivo pra mim, e talvez seja pra você também!

Interessante, mas e agora?E agora mostramos tudo isso que falamos de forma prática. Que tal criarmos juntos um Genesis Hello World, utilizando Java e Genesis no Netbeans? Clique na image a seguir e acompanhe o screencast:

genesishelloworld.jpg

Apenas uma observação: Para a galera das aplicações parrudas, que precisam usar hibernate com jboss ou outro servidor de aplicações, salientamos que é necessário o uso da estrutura chamada empty-project, que é um esqueleto de projeto que já vem na distribuição do Genesis. Não usamos o empty project nesse exemplo para que o primeiro contato com o Genesis fosse mais rápido e fácil, porém não é possível usar as features de remotabilidade e transacionalidade transparente, além da integração com o hibernate dessa forma.Espero que tenham apreciado esse primeiro contato essas tecnologias e aguardamos seus comentários que certamente nos motivarão para um próximo screencast. Sugestões são mais que bem vindas!Até a próxima!