[quote=sergiotaborda][quote=yschmitzz]Minha dúvida é basicamente essa. estudar essa linguagem para desenvolver apenas aplicações para desktop é perda de tempo?
na verdade, quero mais a opniao de voces. uma linguagem multiplataforma, funciona em dispositivos moveis, com uma grande robustes no desenvolvimento para web, até porque o mercado de trabalho voltado para java, a grande parte é para desenvolvimento para web.
claro que nenhum conhecimento adguirido é um desperdicio de tempo, mas tendo em vista que minha vontade é desenvolves sistemas para desktop seria interesante investir em outras linguagens que sejam menos voltada para web?[/quote]
Primeiro tem que definir o que significa “aplicação para desktop” : jogos ? editores ? front-ends para aplicações coorporativas ? pontos de venda (pdv) ? etc…
Para desktop , em java , o assunto é javaFX. Swing não é mais relevante. Vc teria que criar algo parecido ao Fx para aproveitar o swing (binding sobretudo).
Mas para jogos, por exemplo, isso é menos relevante e swing se resume a java2D em FX dá para fazer melhor com 3D e efeitos de iluminação.
Existem muitas aplicações java desktop emboras as mais famosas sejam o eclipse e o netbeans, existem editores de SQL por exemplo e players de musica. É que quando se usa swing o cara tem tendencia a fazer um UI que é feio , mas isso não é culpa do swing é culpa do artista. Java é tão capaz de criar UI atraentes como qualquer outra linguagem, mas com minimo esforço.
Para distribuição também é simples. Desde o tradicional instalador até jws tudo é válido, e até applets que se convertem em aplicações dektop.
Jogos é um campos mais lato e tlv ajam opções melhores dependendo do que vc quer fazer.
Se vc quer algo que funcione também em android ou iphone não ha nada por enquanto e a sua opção é programar nativamente nesses caras ou em html 5 usando canvas. Mas a Oracle está prometendo que o javaFX chegará a essas plataformas também … a ver vamos…
Para aplicações coorporativas o html é rei e frameworks como wicket, zk ou vaaddin podem ser mais produtivos e fornecer resultados visualmente atraentes. Mas tudo depende da aplicação.
Aprender java desktop não é perda de tempo até porque os frameworks web estão migrando para arquiteturas mais parecidas com desktop, e tudo o que vc pode fazer em web pode fazer em desktop. Imagine assim : fazer desktop é como criar seu proprio browser. mas continuará podendo usar web por baixo dos panos como REST por exemplo.
É tudo uma questão de arquitetura, design e constrangimentos. A principio tudo é possivel.
A questão é se compensa financeiramente.
Se vc fizer o proximo angry birsds em java, todos vão usar e não vai ser por ser em java que não vai ficar conhecido. Mas o produto tem que ser bom.
E fazer um bom produto tem a mesma dificuldade em qualquer linguagem. [/quote]
Concordo plenamente e reforço o argumento. Oras, por que não usar Java e JavaFx, por exemplo? Por que o preconceito contra o Java no desktop? Para a interface JavaFX está show de bola e representa uma evolução enorme em relação ao Swing. Além disso, estudando a plataforma Java vc abre caminho para desenvolver tanto em desktop, quanto mobile e web com qualidade e robustez.
Esse argumento que o desktop está morto pra mim é bobagem. A maioria dos sistemas comerciais vendidos prontos são para desktop. Verifique o software da sua loja preferida no comércio e veja se é em desktop ou web. Verifique o software dos caixas de supermercado, por exemplo, e veja. Com certeza a esmagadora maioria será um software desktop.