Swing Vs Java FX

Estou criando esta discussão pois quero saber a opinião de vcs sobre o assunto… Eu tenho um ERP feito em swing porem a interface gráfica é “daquele jeito”.
Com o inicio do java 9 e praticamente o fim da evolução do swing, vale a pena investir no java fx? Para vcs ele já possui implementações suficientes para criar um software completo? O que vcs acham?
se a resposta for negativa vcs acreditam que investir em outra linguagem é melhor? Qual linguagem é indicada para softwares desktop com interfaces “ricas”?

2 curtidas

Olá,
olha, o FX evoluiu bastante ultimamente até parei de usar swing e quando faço algo desktop uso FX, recomendo.
POREM, para vc que tem um produto comercial e do porte de um ERP, já que está dispoto a mudar, vá de uma vez para web (com java), que é a tendência das aplicações.

3 curtidas

Eu não sei se vale a pena você mudar seu ERP de swing pra javafx, mas com relação à qual linguagem indicada para desktop vai depender do desktop. Cada fabricante de SO pra desktop costuma disponibilizar um SDK para desenvolvedores criarem aplicações.

Bom, exceto Linux eu acho, mas poucas pessoas usam Linux no desktop.

1 curtida

Bom dia, tenho utilizado bastante JavaFX e posso dizer que vale a pena sim, mas a questão é analisar o seu sistema atual e quais os recursos para executar o mesmo. Você pode fazer qualquer coisa com JavaFx, porém para este tipo de sistema, a tendência é realmente Web(Spring, Primefaces, etc). Agora, caso queiram mesmo fazer para desktop(na minha opinião não vai morrer tão cedo, minha empresa atende gigantes do mercado e ainda preferem desktop), vai de JavaFx mesmo pois vale muito apena. Dê uma pesquisa na interface JMETRO para você ver.

Ola, obg pelas respostas, apesar de ja ter conhecimento com programação web, ainda acredito fortemente no mercado de sistemas desktop e não gostaria de migrar radicalmente. Eu tenho estudado bastante o javaFx pois ele parece conter uma gama de melhorias do swing, no momento estou procurando realmente por uma melhoria no cenário desktop pois apesar de possuir um ERP alguns módulos são utilizados para o sistema de PDV acredito q esta segunda solução implementada na web ainda não e agradável para mercados e afins. Contudo agradeço pela opiniao sobre o javaFx espero q mais pessoas venham comentar talvez tenham alguma solução ou linguagem q eu não estou familiarizado e queria comentar. Eu nao vejo muito problema na troca de linguagem porem gostaria de algo q seja mais “aparente” para o cliente.

Você pode utilizar uma solução híbrida: frente de caixa em Desktop (JavaFX, Swing, ou mesmo outra linguagem, como C#) e backend (cadastros, relatórios, etc) em web. Acho uma opção mais interessante que “só web” ou “só desktop”.

Abraço.

1 curtida

Para que seja mais “aparente”, então vá pra WEB.
Segue uma dica: migrar para web não será muito mais “radical” quanto ir para FX. Mesmo que tenha seu projeto em MVC, o front terá de ser todo reescrito. Pense no custo/benefício, terá só um pouco de trabalho a mais (já que conhece web) para ter N recursos a mais.
Em FX só vai mudar pra uma tecnologia melhor, mas oque o cliente ganha com isso?
Tem alguma limitação do swing que vc só conseguiria atender com FX?
Em desktop vc nem consegue atender a demanda mobile sem ter de escrever um APP do zero.
Como falei antes, curto FX, mas no seu caso não parece uma boa jogada comercial.
Usuários odeiam mudanças que não trazem melhorias de fato.
Compartilho da opinião de usar módulos específicos em desktop como para PDV. Os softwares comerciais com que já trabalhei são assim. Não abriram mão de migrar para web por causa das limitações de caixa.

1 curtida

Ola airtonct

Realmente existe uma tendencia dos novos projetos desktop a partir desses tempos ser feito em JavaFX. Mas vendo que hoje ainda existe legado usando interface gráfica “cobol carácter”, baseado em DOS, temos certeza que swing não vai morrer não, se tornando uma segunda opção para soluções desktop com java. Pode startar seu projeto com JavaFX sim…mas não teria problema nenhum em fica no Swing…vc só perderia as features que o JavaFX tem no qual não exite no swing.

Olá, eu trabalho com Java Desktop há algum tempo. Estou migrando os ERPs aqui da empresa pra FX, é muito importante que o projeto esteja bem estruturado, no meu caso os modelos estão em um projeto a parte com todas as operações dao e na migração só refaço a interface de usuário, que com o FX fica muito mais rica. Faço tudo separado o login é um projeto a parte para poder compartilhar com outros projetos, o ambiente principal é outro projeto e quando é necessário crio apenas outro módulo que usará toda a arquitetura já pronta. Tudo isso visando reaproveitamento de código. Se um dia for migrar pra web, só pego o projeto com o modelo de dados e refaço a interface.
Vá de FX se quiser mostrar algo novo aos seus clientes e enriquecer a experiência dos usuários. Tenho alguns exemplos no meu Git, dê uma olhada pra ver o “poder do Fx”.

1 curtida

Se você e seus clientes preferem desktop, Java FX está bem melhor que o Swing. Executável menor, menor consumo de memória, mais rápido…

Depende de quais sistemas operacionais realmente são usados pelo cliente. Se for apenas Windows, faz mais sentido usar C# do que Java. Se realmente forem usados mais de um SO, C++ costuma ser mais utilizado em ferramentas profissionais. Swing nunca foi uma solução de qualidade e JavaFx ainda é visto como uma aposta, exceto claro para quem está acostumado só com Java. Ainda não existe nem uma IDE de peso ou uma grande ferramenta feita em front-end JavaFx que seja basante difundida para passar uma confiança.

Tem que avaliar também se todos os módulos do seu sistema precisam ser desktop. Em se tratando de ERP, muita coisa pode ser web via intranet com HTML5. Pode ter também muitos casos de uso onde mobile seja mais indicado. Já desktop é mais para ferramentas e módulos bem específicos que necessitam de maior acesso ao hardware desktop.

No mais, já rolaram várias discussões sobre esse assunto, se pesquisar vai encontrar por exemplo:

1 curtida

Se quiser uma aplicação muuuuuuuuito mais rica graficamente de maneira fácil, vai de Delphi(Maiores sistemas de PDV comerciais de grandes empresas são desenvolvidos nessa linguagem) ou C#

1 curtida

Você quis dizer Object Pascal

A meu ver, sim, JavaFX e’ uma solução completa para desenvolver sem medo para Desktop para interfaces ricas.
Tem muitos recursos interessantes e ainda tem espaço para evolução através do OpenJFX.

Swing é muito bom e marcou época, mas não tem mais pra onde crescer.

1 curtida

Não, quis dizer exatamente o que eu disse, linguagem Delphi, Object Pascal é a linguagem antiga da IDE, atualmente o nome da linguagem é Delphi, a Linguagem Delphi tem muitos recursos que a linguagem Object Pascal não tem como Métodos anónimos, Tipos genéricos, entre outros…

Pra ser mais exato o nome atual da linguagem é Modern Object Pascal conforme a embarcadero a chamou, no entanto o nome da linguagem perante a comunidade Delphi é Linguagem Delphi…

No entanto o que eu disse no comentário acima foi pro cara ir de Delphi, nem mesmo falei sobre linguagem, não precisa criar discussão desnecessária, acredito que somos uma comunidade para troca de informações… não devemos ter nenhum pré conceito

1 curtida