[quote=icefox]Discussão bacana, na minha opinião quando estamos falando de interface é algo bem complexo, como nosso amigo citou em um comentário acima. Depende muito do fim da aplicação, não adianta você montar uma aplicação cheia de efeitos, borboletas voando se ela não for pratica e fácil de se utilizar, e isso é possível fazer em qualquer uma das linguagens e ou plataforma.
Apesar de termo JavaFx , Swing e afins para o Java , Windows Forms e WPF do .Net e outros na minha opinião o que vai se sobressair são aplicações(Front End) baseadas em HTML 5, e as demais plataformas rodando por trás fazendo o trabalho árduo. Isso da a você a possibilidade de desenvolver aplicações para uma gama maior de sistemas operacionais e devices.
[/quote]
Também torço por isso, só tenho me dedicado a HTML e nao tenho mais paciencia com “desktop” onde cada lugar tem sua particularidade.
[quote=Luiz Aguiar][quote=rei_nl_ds]Bom dia pessoal!
Venho até aqui para perguntar o que vocês acham de um comentário que o meu professor fez. Ele disse que java não é bom para aplicativos desktop para Windows, que é muito dificil o desenvolvimento e que os programas acabam ficando com uma interface grafica pobre e feita e que soluções com Delphi e .net são muito mais eficientes ficando mais nativos e mais bonitos.
Depois disso eu como desenvolvedor java fiquei me perguntando até que ponto isso é verdade e se é.
Gostaria da opinião de vocês.
Para mim a beleza da interface deve estar relacionada a quem a desenvolve e quanto ao ser mais nativo talvez ele esteja certo.
O que vocês acham?[/quote]
Vou pro lado de argumentos não técnicos… quantos aplicativos desktops que vc usa no seu dia a dia, sem ser IDE de desenvolvimento, são feitos em Java? Pergunte isso para 100 pessoas comuns também.
Desenvolvimento em swing é difícil e poucas pessoas sabem fazer corretamente, de maneira geral é sim correto falar que swing é pesado e feio, eu mesmo conheço no máximo 3 pessoas (incluindo a Lina rs) que sabem desenvolvedor corretamente em swing e poderiam fazer um aplicativo realmente bom, é como JSF, parece fácil, mas quem não conhece bem a tecnologia sai fazendo por fazer e fica uma porcaria. O swing esta parado no tempo há quase 10 anos, o próprio JavaFX esta tentando matar de vez ele, mas ambos devem ficar onde estão, sem avançar muito no desktop.
Alias, só o fato do usuário comum ter o Java instalado já é ruim, visto a quantidade de falhas de segurança que se encontra toda hora… um usuário caseiro, ou mesmo dentro de uma empresa, não tem porque tem o Java runtime instalado, porque ninguém usa pra praticamente nada, somente são obrigados a instalar devido a um ou outro banco que ainda tem essa necessidade.
[]s[/quote]
Concordo com o Luiz, swing é difícil de manter e desenvolver. Mesmo com plugins DnD (que alias, para mim o melhor é o netbeans seguido do jdeveloper que todo mundo fala mal).
Desculpa Vini mas comparar desenvolvimento C++ com Java é covardia…
Não se compara… Java é praticamente inviavel para desenvolvimento de prateleira!
Entretanto o custo de desenvolvimento desktop com Java é infinitamente inferior ao desenvolvimento C++.
Uma alternativa boa que uso é o SWT… mas tudo depende dos requisitos… até que ponto precisa de multiplataforma ? Até que ponto precisa de integração com hardware e SO ?
Por exeperiência sempre que precisei de algo multiplataforma o custo com Java foi infinitamente menor que com C++, sem dizer que mão de obra C++ é muito mais cara que Java…
Acho que tudo vai dos requisitos… dependendo deles, é possível fazer sistema desktop em java sim, mas com certeza, olhe bem para eles, e não tenha como Java a primeira opção!
[quote=ViniGodoy]As aplicações desktop dividem-se em dois grandes segmentos:
a) Aplicações desktop para indústria / comércio: Nesse caso, estamos falando de sistemas internos. O Java atende relativamente bem, desde que o sistema não tenha que interagir com o hardware ou sistema operacional (LDAP, por exemplo). Infelizmente, é o caso de boa parte dos sistemas desse tipo… E, nos casos onde não é, muito provavelmente um sistema web atenderá igualmente, ou até melhor.
b) Aplicações desktop para usuário final: Seu professor está totalmente certo. O Java Plugin é ruim de instalar e frequentemente vem com “bônus” para o usuário final (está a anos luz atrás da facilidade flash ou reader, por exemplo). O usuário é obrigado a conhecer detalhes como a versão de Java adequada para rodar seu programa. O Swing não implementa diversos componentes comuns (auto-completion, menus sanfonados, componentes com docking, etc…).
Em ambos os casos, o Java também está muito atrás em construtores visuais. Tanto o Eclipse quanto o Netbeans são instáveis, lentos e pouco utilizáveis. Não se comparam a experiência de uso do Visual ou do QT.
O Java é perfeito para web e para servidores. Entretanto, temos que reconhecer que ele se mantém afastado do mercado desktop e de jogos há anos. Para esses dois tipos de aplicação, o Java está muito atrás da concorrência e, pior do que isso, parece não fazer muita questão de tentar correr atrás do prejuízo.[/quote]
Acho a unica explicação técnica até agora! A maioria dos outros comentários são falaciosos e partem de pessoas que muito provalmente nunca utilizaram uma boa ferramenta para Desktop. Até o Delphi 7 que já tem ai uns 10 é melhor que SWT, Swing ou JavaFX (embora essa seja mais promissora, não vejo um avanço significativo).
[quote=ViniGodoy][quote=rei_nl_ds]Só para lembrar, mesmo o foco do tópico sendo a interface, gostaria de compartilhar experiência que tive recentemente.
Fui chamado para entrevista de emprego em uma empresa que desenvolve com Delphi, o entrevistador me perguntou se eu sabia alguma de desenvolvimento voltado para mac os, porque um cliente gostaria de ter o sistema das lojas deles no seu macBook para poder fazer o acompanhamento enquanto viaja.
Dai eu pensei, puxa se fosse em Java era só instalar e pronto!
[/quote]
Comparar o Java com uma tecnologia praticamente parada há 15 anos é covardia.
Se o sistema tivesse sido feito em QT, também seria só recompilar, instalar e pronto.[/quote]
Bah Vini, agora tu me decepcionou. O Delphi está a bem vivo e na verdade a última versão gera aplicativos até mesmo para MAC vide. O maior problema do Delphi é justamente ele ser fácil demais de ser usado!
[quote=x@ndy][quote=ViniGodoy]As aplicações desktop dividem-se em dois grandes segmentos:
a) Aplicações desktop para indústria / comércio: Nesse caso, estamos falando de sistemas internos. O Java atende relativamente bem, desde que o sistema não tenha que interagir com o hardware ou sistema operacional (LDAP, por exemplo). Infelizmente, é o caso de boa parte dos sistemas desse tipo… E, nos casos onde não é, muito provavelmente um sistema web atenderá igualmente, ou até melhor.
b) Aplicações desktop para usuário final: Seu professor está totalmente certo. O Java Plugin é ruim de instalar e frequentemente vem com “bônus” para o usuário final (está a anos luz atrás da facilidade flash ou reader, por exemplo). O usuário é obrigado a conhecer detalhes como a versão de Java adequada para rodar seu programa. O Swing não implementa diversos componentes comuns (auto-completion, menus sanfonados, componentes com docking, etc…).
Em ambos os casos, o Java também está muito atrás em construtores visuais. Tanto o Eclipse quanto o Netbeans são instáveis, lentos e pouco utilizáveis. Não se comparam a experiência de uso do Visual ou do QT.
O Java é perfeito para web e para servidores. Entretanto, temos que reconhecer que ele se mantém afastado do mercado desktop e de jogos há anos. Para esses dois tipos de aplicação, o Java está muito atrás da concorrência e, pior do que isso, parece não fazer muita questão de tentar correr atrás do prejuízo.[/quote]
Acho a unica explicação técnica até agora! A maioria dos outros comentários são falaciosos e partem de pessoas que muito provalmente nunca utilizaram uma boa ferramenta para Desktop. Até o Delphi 7 que já tem ai uns 10 é melhor que SWT, Swing ou JavaFX (embora essa seja mais promissora, não vejo um avanço significativo).[/quote]
Swing é bem diferente de toolkit nativo e isso tem os prós e contras… JavaFX é uma linha totalmente diferente…
Desculpe amigo, mas uma aplicação onde o requisito seja rodar Windows, Linux e Mac e não tenha que ter tanta (ou nenhuma) interação com hardware e SO, falando especificamente de SWT, onde um Delphi 7 ou até mesmo um desenvolvimento com Windows Forms é tão melhor assim ???
Concordo que a maioria das aplicações precisam unica e exclusivamente rodar em ambientes windows, mas toda regra tem exceções…
Eu acho o Eclipse uma ferramenta fantástica (Java+SWT)… tão fantastico que na época que desenvolvia profissionalmente em Linux, o adotei para desenvolvimento C e C++… usava também o Code Blocks, mas preferia o Eclipse… também trabalhei com C/C++ no Visual Studio desde a versão 5… sei la… pode ser simples questão de costume… hoje desenvolvo muito menos do que a 5 anos atrás… isso é apenas uma parte do meu trabalho, entretanto, ainda considero o Eclipse uma ferramenta extremamente produtiva de se trabalhar…
[quote=jmmenezes]Swing é bem diferente de toolkit nativo e isso tem os prós e contras… JavaFX é uma linha totalmente diferente…
Desculpe amigo, mas uma aplicação onde o requisito seja rodar Windows, Linux e Mac e não tenha que ter tanta (ou nenhuma) interação com hardware e SO, falando especificamente de SWT, onde um Delphi 7 ou até mesmo um desenvolvimento com Windows Forms é tão melhor assim ???
[/quote]
Se for para rodar em multiplas plataformas, talvez o java seja uma boa escolha, mas talvez, isso tem que ser analisado.
[quote=jmmenezes]Concordo que a maioria das aplicações precisam unica e exclusivamente rodar em ambientes windows, mas toda regra tem exceções…
Eu acho o Eclipse uma ferramenta fantástica (Java+SWT)… tão fantastico que na época que desenvolvia profissionalmente em Linux, o adotei para desenvolvimento C e C++… usava também o Code Blocks, mas preferia o Eclipse… também trabalhei com C/C++ no Visual Studio desde a versão 5… sei la… pode ser simples questão de costume… hoje desenvolvo muito menos do que a 5 anos atrás… isso é apenas uma parte do meu trabalho, entretanto, ainda considero o Eclipse uma ferramenta extremamente produtiva de se trabalhar…
[/quote]
Ninguém aqui está falando mal do eclipse, o que esta sendo feito é uma comparação entre o desenvolvimento para desktop com java e com outras linguagens, onde o java toma uma surra feia.
Para deskotp Windows Form e Delphi são melhores simplesmente porque possuem uma curva de aprendizado infima e as IDEs possuem WYSIWYG de verdade! Ah, e não vem dizer que fazer na mão de dá melhor controle do que é feito que isso é besteira e a produvidividade cai la embaixo. Somente quem trabalhou em ambos os ambientes sabe que a diferença é brutal em termos de produtividade.
Java tem vários problemas no Desktop:
- Não possui uma biblioteca de componentes boa e efetiva. Está sendo feita uma tentativa com JavaFX, mas não considero o avanço significativo perto da concorrência.
- Uma IDE com WYSIWYG de verdade. Já utilizei o Window Builder para Eclipse e o Matisse do NetBeans e nesse queisito até o Delphi 7 é melhor (Nunca usei o JDeveloper para saber se é bom ou não).
- Forma de tratamentos de eventos e manipulação dos componentes! Por utilizar os padrões Observer e Composite para manipulação de eventos de construção da interface isso torna a curva de apredizado muito alta, embora isso torne a interface extremamente robusta. Isso acaba por afastar a maioria das pessoas que estão começando.
- Dependência da JVM. Por mais incrível que isso possa parecer é verdade. Existe problemas em se depender da JVM quando se tem recursos limitados.
- Falta de acesso a recursos nativos do SO e de Hardware. A maioria das aplicações dependem disso pois senão é era bem mais simples fazer para ambiente Web.
[quote=x@ndy][quote=jmmenezes]Swing é bem diferente de toolkit nativo e isso tem os prós e contras… JavaFX é uma linha totalmente diferente…
Desculpe amigo, mas uma aplicação onde o requisito seja rodar Windows, Linux e Mac e não tenha que ter tanta (ou nenhuma) interação com hardware e SO, falando especificamente de SWT, onde um Delphi 7 ou até mesmo um desenvolvimento com Windows Forms é tão melhor assim ???
[/quote]
Se for para rodar em multiplas plataformas, talvez o java seja uma boa escolha, mas talvez, isso tem que ser analisado.
[quote=jmmenezes]Concordo que a maioria das aplicações precisam unica e exclusivamente rodar em ambientes windows, mas toda regra tem exceções…
Eu acho o Eclipse uma ferramenta fantástica (Java+SWT)… tão fantastico que na época que desenvolvia profissionalmente em Linux, o adotei para desenvolvimento C e C++… usava também o Code Blocks, mas preferia o Eclipse… também trabalhei com C/C++ no Visual Studio desde a versão 5… sei la… pode ser simples questão de costume… hoje desenvolvo muito menos do que a 5 anos atrás… isso é apenas uma parte do meu trabalho, entretanto, ainda considero o Eclipse uma ferramenta extremamente produtiva de se trabalhar…
[/quote]
Ninguém aqui está falando mal do eclipse, o que esta sendo feito é uma comparação entre o desenvolvimento para desktop com java e com outras linguagens, onde o java toma uma surra feia.
Para deskotp Windows Form e Delphi são melhores simplesmente porque possuem uma curva de aprendizado infima e as IDEs possuem WYSIWYG de verdade! Ah, e não vem dizer que fazer na mão de dá melhor controle do que é feito que isso é besteira e a produvidividade cai la embaixo. Somente quem trabalhou em ambos os ambientes sabe que a diferença é brutal em termos de produtividade.
Java tem vários problemas no Desktop:
- Não possui uma biblioteca de componentes boa e efetiva. Está sendo feita uma tentativa com JavaFX, mas não considero o avanço significativo perto da concorrência.
- Uma IDE com WYSIWYG de verdade. Já utilizei o Window Builder para Eclipse e o Matisse do NetBeans e nesse queisito até o Delphi 7 é melhor (Nunca usei o JDeveloper para saber se é bom ou não).
- Forma de tratamentos de eventos e manipulação dos componentes! Por utilizar os padrões Observer e Composite para manipulação de eventos de construção da interface isso torna a curva de apredizado muito alta, embora isso torne a interface extremamente robusta. Isso acaba por afastar a maioria das pessoas que estão começando.
- Dependência da JVM. Por mais incrível que isso possa parecer é verdade. Existe problemas em se depender da JVM quando se tem recursos limitados.
- Falta de acesso a recursos nativos do SO e de Hardware. A maioria das aplicações dependem disso pois senão é era bem mais simples fazer para ambiente Web.
[/quote]
A questão do Eclipse é apenas de um produto de qualidade, desktop, multi-plataforma, feito em Java… Falar que java é somente para web é mentira…
Volto a repetir:
Acho que tudo vai dos requisitos… dependendo deles, é possível fazer sistema desktop em java sim, mas com certeza, olhe bem para eles, e não tenha como Java a primeira opção!
Tudo em tecnologia é assim… e hoje a primeira pergunta que tem de ser feita para qualquer sistema… é: Pode ser web ? Mas nem sempre pode… e serão estes os motivos que devem ser levados em conta na hora de escolher a tecnologia.
A questão curva de aprendizado é muito relativa…
Por exemplo: Tenho 10 sistemas Java Web e tenho uma necessidade especifica de um módulo Desktop. Tenho um time de 15 desenvolvedores Java. Fazer Java Desktop pode ser muito mais simples nesse cenário do que qualquer outra tecnologia.
Muitas vezes tem a ver com todo o ecosistema em torno e não somente com o sistema a ser desenvolvido…
As vezes estamos partindo de um cenário estaca zero, não conhecemos nem Java, nem C#, nem nada, só sabemos VB6… qual o melhor caminho nesse caso…
Trabalhei com Delphi nas versões 4, 5 e 6… já larguei ele faz tempo e acredito que tenha mudado muita coisa… era uma ferramenta fantástica embora tivesse bastante problema também… como toda tecnologia, ele continua sendo uma opção e que confesso que deveria começar a olhar novamente!
E ah… quando se fala de sistemas toscos, com telinha e acesso ao banco de dados… nem mesmo a Microsoft conseguiu criar algo tão pratico e produtivo quanto velho Visual Basic… e muitas empresas não precisam de nada mais que isso! E por incrivel que pareça… nem sempre é possível colocar tudo em um sistema web… mesmo sem ter interação com hardware e SO!
[quote=jmmenezes]A questão do Eclipse é apenas de um produto de qualidade, desktop, multi-plataforma, feito em Java… Falar que java é somente para web é mentira…
Volto a repetir:
Acho que tudo vai dos requisitos… dependendo deles, é possível fazer sistema desktop em java sim, mas com certeza, olhe bem para eles, e não tenha como Java a primeira opção!
Tudo em tecnologia é assim… e hoje a primeira pergunta que tem de ser feita para qualquer sistema… é: Pode ser web ? Mas nem sempre pode… e serão estes os motivos que devem ser levados em conta na hora de escolher a tecnologia.
A questão curva de aprendizado é muito relativa…
Por exemplo: Tenho 10 sistemas Java Web e tenho uma necessidade especifica de um módulo Desktop. Tenho um time de 15 desenvolvedores Java. Fazer Java Desktop pode ser muito mais simples nesse cenário do que qualquer outra tecnologia.
Muitas vezes tem a ver com todo o ecosistema em torno e não somente com o sistema a ser desenvolvido…
As vezes estamos partindo de um cenário estaca zero, não conhecemos nem Java, nem C#, nem nada, só sabemos VB6… qual o melhor caminho nesse caso…
Trabalhei com Delphi nas versões 4, 5 e 6… já larguei ele faz tempo e acredito que tenha mudado muita coisa… era uma ferramenta fantástica embora tivesse bastante problema também… como toda tecnologia, ele continua sendo uma opção e que confesso que deveria começar a olhar novamente!
E ah… quando se fala de sistemas toscos, com telinha e acesso ao banco de dados… nem mesmo a Microsoft conseguiu criar algo tão pratico e produtivo quanto velho Visual Basic… e muitas empresas não precisam de nada mais que isso! E por incrivel que pareça… nem sempre é possível colocar tudo em um sistema web… mesmo sem ter interação com hardware e SO![/quote]
Ninguém está dizendo que sistema Web é a solução, que Desktop é melhor que Web, que Delphi é melhor que Java e que Java é melhor que .Net e por ai vai!
A questão pura e simplesmente é que Java não apresenta a melhor ferramenta para se desenvolver em Desktop e quem diz o contrário está errado! Somente isso.
Agora, se você deve escolher java para desktop são outros quinhentos! Depende de uma série de coisas e somente se ele é bom para desktop ou não! A escolha de qualquer linguagem, ferramementa, framework, ambiente, API, etc para desenvolvimento deve ser tomada criteriosamente e não baseada em apenas um fator! Aqui eu falo sobre isso aplicado a linguagens de programação, mas o mesmo se aplica a outras decisões do projeto.
[quote=x@ndy][quote=jmmenezes]A questão do Eclipse é apenas de um produto de qualidade, desktop, multi-plataforma, feito em Java… Falar que java é somente para web é mentira…
Volto a repetir:
Acho que tudo vai dos requisitos… dependendo deles, é possível fazer sistema desktop em java sim, mas com certeza, olhe bem para eles, e não tenha como Java a primeira opção!
Tudo em tecnologia é assim… e hoje a primeira pergunta que tem de ser feita para qualquer sistema… é: Pode ser web ? Mas nem sempre pode… e serão estes os motivos que devem ser levados em conta na hora de escolher a tecnologia.
A questão curva de aprendizado é muito relativa…
Por exemplo: Tenho 10 sistemas Java Web e tenho uma necessidade especifica de um módulo Desktop. Tenho um time de 15 desenvolvedores Java. Fazer Java Desktop pode ser muito mais simples nesse cenário do que qualquer outra tecnologia.
Muitas vezes tem a ver com todo o ecosistema em torno e não somente com o sistema a ser desenvolvido…
As vezes estamos partindo de um cenário estaca zero, não conhecemos nem Java, nem C#, nem nada, só sabemos VB6… qual o melhor caminho nesse caso…
Trabalhei com Delphi nas versões 4, 5 e 6… já larguei ele faz tempo e acredito que tenha mudado muita coisa… era uma ferramenta fantástica embora tivesse bastante problema também… como toda tecnologia, ele continua sendo uma opção e que confesso que deveria começar a olhar novamente!
E ah… quando se fala de sistemas toscos, com telinha e acesso ao banco de dados… nem mesmo a Microsoft conseguiu criar algo tão pratico e produtivo quanto velho Visual Basic… e muitas empresas não precisam de nada mais que isso! E por incrivel que pareça… nem sempre é possível colocar tudo em um sistema web… mesmo sem ter interação com hardware e SO![/quote]
Ninguém está dizendo que sistema Web é a solução, que Desktop é melhor que Web, que Delphi é melhor que Java e que Java é melhor que .Net e por ai vai!
A questão pura e simplesmente é que Java não apresenta a melhor ferramenta para se desenvolver em Desktop e quem diz o contrário está errado! Somente isso.
Agora, se você deve escolher java para desktop são outros quinhentos! Depende de uma série de coisas e somente se ele é bom para desktop ou não! A escolha de qualquer linguagem, ferramementa, framework, ambiente, API, etc para desenvolvimento deve ser tomada criteriosamente e não baseada em apenas um fator! Aqui eu falo sobre isso aplicado a linguagens de programação, mas o mesmo se aplica a outras decisões do projeto.[/quote]
Se tudo depende… também não se pode afirmar o contrário… nem que Java é bom e nem que Java é ruim… é uma solução como qualquer outra e se é uma boa para desktop ou não vai depender dos requisitos… pode não ser para 90% dos sistemas, mas pode ser para outros… o que vem a ser efetivamente ou software desktop depende muito mais dos requisitos… e nesse caso quando vc passou o artigo, eu li e concordo com ele em quase todos os aspectos.
Da mesma forma que você afirma que pessoas que falam blablabla de Java não tem vivência com desenvolvimento desktop, gostaria de saber por que o Imposto de Renda é feito em Java ? Pura curiosidade…
Talvez dizer que java não seja boa para desktop, seja em relação aos recursos e dificuldades de se chegar a tal lugar com ela, que só vale a pena, se ela for o unico ou melhor caminho para tal, caso contrário tem coisas melhores por ai… olhe os requisitos… se não precisa de java, não escolha ele…
[quote=jmmenezes]
Se tudo depende… também não se pode afirmar o contrário… nem que Java é bom e nem que Java é ruim… é uma solução como qualquer outra e se é uma boa para desktop ou não vai depender dos requisitos… pode não ser para 90% dos sistemas, mas pode ser para outros… o que vem a ser efetivamente ou software desktop depende muito mais dos requisitos… e nesse caso quando vc passou o artigo, eu li e concordo com ele em quase todos os aspectos.[/quote]
Cara, vamos ser bem claros.
- Java é ruim para o desktop. Ponto final. Os motivos estão declarados ai em cima!
- Usar Java para Desktop em um projeto devido a uma dezena de requisitos não torna o Java bom para Desktop! Usar C para programar microcontroladores não torna C uma linguagem fácil. Usar drogas por que se viciado não torna as drogas boas. Uma coisa não é boa só porque você deve ou é obrigado usa-lá.
Não sei. Acredito que seja para poder ser utilizado em diversos SOs diferentes. Mas antigamente ele era feito em Delphi e, disso eu tenho certeza, foi mais fácil construir a interface antiga do que a atual!
Agora eu te pergunto, com tantos anos no mercado e sendo a linguagem mais utilizada no mundo por que o desenvolvimento em java para desktop nunca deslanchou?
É bem isso ai mesmo! Se você pode usar outra ferramenta para programar para desktop utilize, se não der, vá de java sem problemas!
Java desktop so mesmo para casos cross plataform, é a unica vantagem. Swing é tosco, prefiram Swt ou Fx.
Acredito que o meu conceito de ruim eh um pouco diferente do seu mas isso pouco importa. No meu caso acho que se eh possivel criar algo de qualidade usando java no desktop (vulgo eclipse) nao vejo como sendo ruim… agora se for para fazer determinadas coisas ou comparar a forma de desenvolvimento java desktop com outras tecnologias, entao sim… java para desktop nesse ponto eh ruim, mas nao condeno a tecnologia como um todo. Seria a mesma coisa que condenar asp.net por que nao roda no linux (sem considerar o mono), ou por ter que desembolsar uma grana para ter uma IDE legal (nao a versao express)…
Afirmar o por que nunca deslanchou e tao complicado quanto afirmar por que o linux nao deu certo no desktop…
mas eu acho que os motivos sao bem parecidos com os que o Vini falou.
Considerando software de prateleira, java eh pesado (diferente de lento), coisa que ate pouco tempo atras onde computadores com 256mb de ram eram comuns nao se podia dar o luxo de um eclipse consumindo mais de 600mb. Java tem poucos recursos para software nativo comparado a uma linguagem como CC++. Java depende da VM e compilar para codigo nativo vulgo algumas solucoes nao eh tao trivial assim, alem de diversos outros fatores…
Ja considerando software corporativo, acho que hoje a maior parte das solucoes podem ser web e digo nao so hoje como ha mais de 10 anos. E onde nao pode ser web, muitas vezes tem dependencias com o SO ou hardware, onde o Java nao eh legal. Alem disso, no restante dos casos nem sempre se precisa de algo multiplataforma onde pelo menos no brasil mais de 90% usa windows… e se nao precisar de nada disso, o java perde em produtividade e recursos desktop para outras linguagens (neste cenario), tornando ele apenas uma solucao para alguns casos especificos principalmente quando ha uma grande necessidade de algo multi-plataforma.
Volto a falar… soh adote Java para desktop se tiver reais motivos para isso, caso contrario… eh besteira!
PS: Desculpe pelos acentos… celular…