Estou desenvolvendo uma aplicação critica em desktop e estou procurando um framework gratuito para acelerar o desenvolvimento das interfaces. Nas pesquisas encontrei o SwingBean, OpenSwing e Towel, mas parece que não possuem atualizações a um tempo. Qual seria uma boa escolha hoje?
O que você obter com um framework desses, que não poderia ser obtido com Swing?
Se você realmente precisa desenvolver para desktop, a recomendação seria JavaFX, mas aí depende se você está disposto a usá-lo no lugar do Swing. O Netbeans permite editar as interfaces visualmente, o que pode acelerar um pouco as coisas.
Como o @TerraSkilll disse, o JavaFX é uma boa, como ele é mais recente, tem alguns componentes melhor desenvolvido, facilitando o uso e configuração, além de poder usar css.
O ponto negativo, é que por ser mais recente, ele tem menos exemplos
Swing é bem complicado mesmo pra fazer algo profissional com produtividade, é pra desistir só com o trabalho que dá pra popular tabelas na tela de forma profissional. Na plataforma Java, a Oracle atualmente recomenda o JavaFx para desktop, por que nao tenta ele com Scene Builder? Acredito que pelo menos seja melhor do que Swing.
O projeto já está bem adiantado usando o swing. Mas na próxima posso tentar ver se compensar usar o JavaFX em relação a conseguir a não gastar muito tempo em coisas que poderiam ser feitas de forma rápida.
Você já programou em .NET ou Delphi para desktop? Acredito que JavaFx tenha melhorado, mas pelo menos com Swing a quantidade de código que se escreve é um absurdo perto de outras tecnologias desktop, independente de padroes de arquitetura. Não é a toa que o cara está atrás de produtividade, pois Swing por si só não é produtivo.
Sim, mas o Swing não foi concebido para ser uma ferramenta RAD, os editores visuais não “sabem” aplicar boas práticas do MVC do Swing pois isso exige parar para pensar na melhor forma de realizar a implementação.
Creio que para o Java ainda está para nascer um editor visual melhor que o antigo IBM Visual Age for Java. O extinto Visual Editor Project do eclipse chegava perto, o WindowBuilder é muito pesado e o NetBeans (assim como os antigos “Sun One Studio” e “Forté for Java”) geram um código muito porco.
Enfim, já desenvolvi muita interface de usuário Java SE e ME utizando AWT, Swing, SWT e JFaces.
Pra mim continua sendo mais produtivo desenvolver uma modelo independente de framework GUI e depois fazer o binding para cada tecnologia. Dá trabalho uma única vez, depois é só reutilizar, o típico MVVM.
A própria Oracle não recomenda mais usar swing, além do do fato do mercado desktop ter dado aquela morrida (eu sei, não MORREU, só é irrelevante em termos de mercado).
Normalmente pagando já seria difícil achar algo nessas circunstâncias, você ainda quer de graça.
Independente de editor visual e padrao de arquitetura, quis dizer sobre as “libs gráficas” fornecerem diretamente recursos pra atender os resultados de forma produtiva, para criação e também evolução.
Data binding partindo diretamente do que Swing fornece é bem trabalhoso, podendo ser necessário soluções caseiras ou de terceiros pra tentar buscar produtividade. E está morrendo assim. JavaFx deve ter melhorado nesse aspecto, pelo menos nao gera vários tópicos “ao estilo” TableModel do Swing, só pra conseguir apresentar um grid de forma decente.
No WPF do .NET a maioria segue MVVM que voce citou, sem grandes esforços, não por causa do editor visual, mas pela natureza do WPF.