Genesis, SwingBean ou Spring RCP

Galera,

Procurando um framework desktop para um novo projeto, cheguei a 3 boas opções, da qual escolherei 1. Quem já usou essses frameworks, quais as vantagens e desvantagens de cada um?

  • Favor descrever se eles foram usados em projetos que estão em produção. Afinal, em pequenos exemplos todos 3 são excelentes. Mas gostaria de saber a opinião desses frameworks usados em projetos reais e de preferência em produção.

Att.

Bruno Leonardo :wink:

Genesis - Não precisa de xmls (annotations) e vc pode utilizar com Matisse ou qualquer outro que te auxilie a desenhar telas.

[]'s

O SwingBean achei bem fácil, porém possui pouquissima documentação. O genesis me pareceu ser mais completo e também possui bem mais documentação, além de já estar na versão 3.0. Farei mais testes com o Spring RCP, mas até agora minha opção é o genesis.

Obrigado pela dica.

Se vc der uma olhada no site do Spring RCP, vai perceber que esta plataforma vai continuar sofrendo manutenção, porém não vai sofrer “evolução” . Isso se deve ao fato de que a equipe decidiu fazer qualquer mudança significativa em um novo projeto, o Spring Desktop. Acho esta informação relevante ao se considerar a adoção dessa plataforma em um novo projeto.

Cara, informação importante. Já me ajudou a eliminar de cara uma opção. Obrigado!!!

Seu projeto é com javaEE?

Não!!! Java Desktop, porém poderá vir a ser um dia.

Eu utilizo o SwingBean. Isso porque construi um form automático para cadastrar, deletar, atualizar e também para mostrar o resultado de busca de forma padrão. Para adicionar um novo componente eu só preciso criar um bean novo e os respectivos arquivos xml das janelas, mais nada. Isso porque não gosto de ficar desenhando janelas. Realmente a documentação é um problema. O Guerra, autor do SwingBean, está pra completá-la tem um tempão. Mas também ele sempre responde o forum no SF, então vc sempre pode recorrer ao forum, que além de ter várias respostas para dúvidas frequentes, o autor não demora muito para responde novas questões.

O problema que esta aplicação que irei fazer necessita de algumas telas meio complexas. Tipo uma tabela com cabeçalho duplo, entre outras. Esse negócio de gerar o form automático é bem prático, porém também te deixa meio “amarrado”, pelo que pude perceber. E se seu cliente pedir que seja feita uma tela conforme um protótipo apresentado a ele? Ou se vc precisar seguir um padrão de tela da empresa? Tenho medo de iniciar o projeto e esbarrar em alguns detalhes como estes. Também fico receioso caso esse projeto venha a se tornar web, terei muito retrabalho, pois pelo que percebi no SwingBean as Actions ficam acopladas a View.

O SwingBean permite que vc tenha acesso a seus componentes, então vc pode customizá-los. Além disso é openSource, então vc poderia dar uma mexida no fonte para personalizar. Mas nunca mexi com os outros dois, então acho que seria mais interessante alguém que tenha mexido para apresentar maiores detalhes compativos. Quanto ao cabeçalho duplo, vc usa o form do SwingBean como usa um panel. Assim, vc pode colocar toda uma interface sua, com os botões que desejar em conjunto com os formulários. A parte chata dos formulários é difícil que fique muito diferente do que o cliente deseje. Ainda acho bom o fator de poder fazer validação práticamente automática colocando regex no xml. Para a maioria das validações isso é suficiente. A coisa ruim é que tem um problema com uso de mascara. Quando vc limpa o formulário os campos que usam máscara não funcionam como o esperado…

Ah, um outro ponto interessante que achei no SwingBean é a interface gráfica para entrada de datas…

Outra vantagem que eu lembrei: eu uso o hibernate para ORM, e já tenho que fazer os beans para ele. Então apenas utilizo esses beans para produzir as interfaces. Não sei se vc vai usar Hibernate, mas se for, grande parte do trabalho já estará pronta…