Java Desktop morto?

31 respostas
S

Boa noite pessoal,

Atualmente sou programador Cobol (Não, não sou muito velho, tenho 21 anos ! kkk) e estou estudando Java para aprimorar meus conhecimentos na linguagem, pois meu conceito em OO decaiu muito depois que parei de praticar.
Bom minha duvida é a seguinte, alguns amigos meus me falaram que java para desktop é uma tecnologia morta, que o forte de Java é a WEB/Mobile. Isso me desmotivou um pouco nos meus estudos e gostaria de saber se é
realmente fato que java é uma tecnologia morta para Desktop, ou ainda são desenvolvidos grandes projetos em Java para o Desktop.

Obrigado.

31 Respostas

L

Java pra Desktop não está morto, não dê ouvidos aos anunciadores da morte.

A verdade é que muitos aplicativos hoje, fica muito mais adequado se for feio em web. Na verdade não so em Java, mas em qualquer aplicativo, a tendencia é se tornar web.

Voce deve fazer um software pra desktop só se precisar de recursos de hardware, ou integração direta com alguma porta, utilização de recursos gráficos avançados, 2d, 3d, etc. Sicenramente, tirando esses fatores, nao tem porque devenvolver, hoje, pra desktop.

S

Bom, apimentando um pouco a discussão… e porque um aplicativo desktop não pode ser Web? Parece que desenvolver para web é somente via browser…
isso é um absurdo… você pode criar um aplicativo cliente/servidor que se conecta via web, e somente seus clientes possuem a aplicação desktop…
não entendo porque limitar, claro, pode existir vantagens ou desvantagens em cada abordagem… ai são outras questões… dependendo do contexto
um ou outro pode ser mais atrativo…

essa claro, somente minha opinião sobre o assunto…

O

Não o java desktop não está morto no java 7, por exemplo, houve uma pequena melhoria no swing.
Umas das promessas para o java fx 2.0 é que ele seja totalmente compatível com o swing.
Em fim existe alguns projetos para o java desktop, pode ficar tranquilo.

E para aqueles que anunciam essa morte, não se preocupe o velho cobol ainda estará vivo quando vários de nós estaremos mortos.

A

Java Desktop, na verdade, não é tão usado quanto o Java Web. Ele oferece a portabilidade entre sistemas operacionais, no entanto, dessa forma não consegue suprir todas as necessidades, como por exemplo, acessar determinados recursos do sistema operacional. Portanto, no caso de aplicação para desktop, geralmente é mais utilizado C#, C, C++ e até mesmo Delphi. Mas há muitos softwares Java que rodam em desktop, o governo, por exemplo, mantém o Java como linguagem.

J

De novo a mesma conversa da morte do desktop. Sistemas operacionais sem memória e de apenas um browser. Jogos que magicamente fazem streamming de quadros renderizados pela placa de vídeo do servidor para o cliente… e por aí vai. É a conversa mais sem noção do mundo.

J

Java para desktop não é utilizado amplamente como aplicações de servidor porque a jvm ainda necessita de muita memória para executar aplicações. Para fazer um teste é só executar uma aplicação simples como o jdownloader e chamar o gerenciador de tarefas. Vai ver como ocupa espaço na ram. Mas isso vem melhorando a cada versão.

D

juliocbq:

Java para desktop não é utilizado amplamente como aplicações de servidor porque a jvm ainda necessita de muita memória para executar aplicações. Para fazer um teste é só executar uma aplicação simples como o jdownloader e chamar o gerenciador de tarefas. Vai ver como ocupa espaço na ram. Mas isso vem melhorando a cada versão.

Uma dúvida… Se tem aplicativos razoaveis para celular que tem pouca memória, porque um aplicativo java para desktop teria que gastar muita ram? Isso não seria um defeito do programador? e onde foi parar o JIT e o HOTSpot? Achei que isso ja faria com que alguns programas em alguns casos se igualariam pelo fato do java ter essas vantagens.
VLW

R

Java é irrelevante na web, interfaces web usam HTML e JavaScript.

Mas importante no desktop, Swing é 100% Java!

Claro que tem muitos lugares que utilizam frameworks web Java, mas estariam muito melhor usando uma linguagem dinâmica, só não usam por questões políticas, falta de mão de obra qualificada, etc. Se for analisar sob o ponto de vista técnico, frameworks web em Java com o propósito de criar aplicativos que rodam no browser são uma aberração. Até PHP é mais produtivo!

A

Renato Machado:
Java é irrelevante na web, interfaces web usam HTML e JavaScript.

Mas importante no desktop, Swing é 100% Java!

Claro que tem muitos lugares que utilizam frameworks web Java, mas estariam muito melhor usando uma linguagem dinâmica, só não usam por questões políticas, falta de mão de obra qualificada, etc. Se for analisar sob o ponto de vista técnico, frameworks web em Java com o propósito de criar aplicativos que rodam no browser são uma aberração. Até PHP é mais produtivo!

Renato, não seja troll. Se quiser discutir essa importância e relevância toda de uma vez abra um tópico novo e espere comentários. Não fique arranjando confusão em todo o tópico e falando sempre a mesma coisa… Maturidade cara, maturidade.

Respondendo ao tópico, Java para Desktop não está morto. Está sendo revigorado… Embora eu ache que interessante mesmo seja isolar o cliente visual, sempre…

[]'s

R

denisspitfire:

Uma dúvida… Se tem aplicativos razoaveis para celular que tem pouca memória, porque um aplicativo java para desktop teria que gastar muita ram? Isso não seria um defeito do programador? e onde foi parar o JIT e o HOTSpot? Achei que isso ja faria com que alguns programas em alguns casos se igualariam pelo fato do java ter essas vantagens.
VLW

Você tem noção que sua comparação não faz sentido né? Se tem um lugar onde Java está morto é em celulares. Aplicativos para celular não rodam Java, a não ser que esteja se referindo a aplicativos J2ME que não são de nenhuma forma “razoáveis”, na verdade são bem limitados.

A

Enquanto utilizarmos IDEs feitas em Java para fazer as webapps em Java duvido que o Java pra Desktop morra (mesmo que isso não aconteça mais eu também duvido).

O footprint da JVM ainda é alto, mas isso continua melhorando muito (como o juliocbq comentou).

R

AUser:

Renato, não seja troll. Se quiser discutir essa importância e relevância toda de uma vez abra um tópico novo e espere comentários. Não fique arranjando confusão em todo o tópico e falando sempre a mesma coisa… Maturidade cara, maturidade.

Respondendo ao tópico, Java para Desktop não está morto. Está sendo revigorado… Embora eu ache que interessante mesmo seja isolar o cliente visual, sempre…

[]'s

Cara vaza, se não tem argumentos (e pela rapidez que postou imagino que nem tentou) evite criar posts apaixonados como esse. Assim só demonstra sua insegurança.

A

Renato Machado:
AUser:

Renato, não seja troll. Se quiser discutir essa importância e relevância toda de uma vez abra um tópico novo e espere comentários. Não fique arranjando confusão em todo o tópico e falando sempre a mesma coisa… Maturidade cara, maturidade.

Respondendo ao tópico, Java para Desktop não está morto. Está sendo revigorado… Embora eu ache que interessante mesmo seja isolar o cliente visual, sempre…

[]'s

Cara vaza, se não tem argumentos (e pela rapidez que postou imagino que nem tentou) evite criar posts apaixonados como esse. Assim só demonstra sua insegurança.

Meu caro, eu trabalho com outras coisas além de Java. Não é questão de argumentação, é pq em todo tópico você fala a mesma coisa… Cria um tópico só pra isso e deixa de ser troll. Eu não sou apaixonado por Java e discordo de muita coisa, mas não fico falando isso em todo tópico só pra ver se arranjo briguinha… Que coisa, tem mais o que fazer não? Ah cara, esquece. gastar vela com defunto morto não rola. A moderação que faça alguma coisa (que pelo visto, tem pouco feito…) Até! :slight_smile:

A

strikezado:
Boa noite pessoal,

Atualmente sou programador Cobol (Não, não sou muito velho, tenho 21 anos ! kkk) e estou estudando Java para aprimorar meus conhecimentos na linguagem, pois meu conceito em OO decaiu muito depois que parei de praticar.
Bom minha duvida é a seguinte, alguns amigos meus me falaram que java para desktop é uma tecnologia morta, que o forte de Java é a WEB/Mobile. Isso me desmotivou um pouco nos meus estudos e gostaria de saber se é
realmente fato que java é uma tecnologia morta para Desktop, ou ainda são desenvolvidos grandes projetos em Java para o Desktop.

Obrigado.

Morto deve estar quem fala esse tipo de coisa… O pessoal gosta de seguir modinha, a modinha agora é java web, isso não quer dizer que Java SE morreu e nem o .Net… Nem o Cobol morreu rsrs…:wink:

R

AUser:

Meu caro, eu trabalho com outras coisas além de Java. Não é questão de argumentação, é pq em todo tópico você fala a mesma coisa… Cria um tópico só pra isso e deixa de ser troll. Eu não sou apaixonado por Java e discordo de muita coisa, mas não fico falando isso em todo tópico só pra ver se arranjo briguinha… Que coisa, tem mais o que fazer não? Ah cara, esquece. gastar vela com defunto morto não rola. A moderação que faça alguma coisa (que pelo visto, tem pouco feito…) Até! :)

Se você usa Java para gerar HTML+JavaScript está fazendo errado, senão me diz o que você usa porque até agora eu ri das soluções existentes, assim como ri da sua colocação que a moderação devia intervir.

R

Agora você falou uma coisa certa.

Por que alguém usaria framework Java pra fazer coisas consideradas problema resolvido em uma fração do tempo em outras linguagem? Porque quem segue moda está perdido.

E não estou criticando Java de forma geral, mesmos nos casos raros onde preciso desenvolver desktop, se preciso criar um aplicativo multiplataforma a melhor opção é Swing, no caso da web tenho milhares de alternativas para gerar HTML+js sem precisar recorrer a aberrações como JSP, JSF, Struts, Spring.

Claro que isso não é nenhuma novidade para quem conhece outras linguagens, só quem vive no mundinho Java acha que o que estou falando é heresia e manda chamar as “autoridades”! :lol:

L

@strikezado Java para desktop deve representar hoje no máximo uns 20% de todo mundo que trabalha com Java no mundo, basta fazer uma pesquisa mesmo aqui no GUJ e ver quem trabalhar fulltime com Java web e quem com desktop.

O problema maior são as oportunidade realmente, entre em sites como apinfo, netcarreiras, ondetrabalhar.com e veja quantas vagas tem para Java Desktop, quase nenhuma (pra não falar nenhuma). Mercado tem, mas são para poucas empresas com segmentos definidos ou que trabalham com produtos prontos.

Se é uma área que gosta muito e odeia web, estude muito bem o Swing pois não é simples fazer algo bem feito não, ter uma aplicativo desktop Java rápido, que consuma pouca memória é pra quem já conhece muito bem as entranhas do Swing, muitos aqui no GUJ podem te ajudar com isso.

@Renato Machado, seus posts serão apagados se continuar trollando, colabore.

[]s

L

isso ta parecendo moda quando um certo de tipo de artista ,jogador e etc faça um corte de cabelos todos começam a imitar ou ate msm a tatuagem enfim seguir a modinha sempre acaba ou seja vai sempre ser a msm coisa!

morrer nunca…!

parem com essa besteira de discutir e abrir topicos sem noção !

J

Luiz Aguiar:
@strikezado Java para desktop deve representar hoje no máximo uns 20% de todo mundo que trabalha com Java no mundo, basta fazer uma pesquisa mesmo aqui no GUJ e ver quem trabalhar fulltime com Java web e quem com desktop.

O problema maior são as oportunidade realmente, entre em sites como apinfo, netcarreiras, ondetrabalhar.com e veja quantas vagas tem para Java Desktop, quase nenhuma (pra não falar nenhuma). Mercado tem, mas são para poucas empresas com segmentos definidos ou que trabalham com produtos prontos.

Se é uma área que gosta muito e odeia web, estude muito bem o Swing pois não é simples fazer algo bem feito não, ter uma aplicativo desktop Java rápido, que consuma pouca memória é pra quem já conhece muito bem as entranhas do Swing, muitos aqui no GUJ podem te ajudar com isso.

@Renato Machado, seus posts serão apagados se continuar trollando, colabore.

[]s

Até para quem é bom nele. Se comparar a IDE delphi 2007 com eclipse ou netbeans vai ver que ela consome uns 150% menos de memória. Isso é a característica do java que temos hoje em aplicações desktop.
Não é uma crítica destrutiva, a jvm tá melhorando nesses quesitos, mas ainda é inviável realmente para certos tipos de aplicações( As mais corriqueiras do dia a dia e as que usamos mais).

O que mata a conversa é o pessoal que imagina que um servidor remoto vai fazer tudo pelo pc dele. Aí já vira ignorância.

N

Renato Machado:
AUser:

Meu caro, eu trabalho com outras coisas além de Java. Não é questão de argumentação, é pq em todo tópico você fala a mesma coisa… Cria um tópico só pra isso e deixa de ser troll. Eu não sou apaixonado por Java e discordo de muita coisa, mas não fico falando isso em todo tópico só pra ver se arranjo briguinha… Que coisa, tem mais o que fazer não? Ah cara, esquece. gastar vela com defunto morto não rola. A moderação que faça alguma coisa (que pelo visto, tem pouco feito…) Até! :)

Se você usa Java para gerar HTML+JavaScript está fazendo errado, senão me diz o que você usa porque até agora eu ri das soluções existentes, assim como ri da sua colocação que a moderação devia intervir.

Performance pra você não significa nada? Pelo que sei, excluindo C/C++, não há nada mais performático que java. Além disso o java se sei bem em portabilidade, segurança e outros.

Hoje se eu for desenvolver um sistema web novo eu muito provavelmente não escolheria o conjunto java padrão (java + framework web), mas sim algo mais dinâmico como o Grails. Mas há momentos em que a plataforma java é bem interessante, principalmente pelo conjunto de bibliotecas existentes. E como já disse, dentro da plataforma posso usar Java, Groovy, Ruby, Python, Scala…

Um exemplo interessante é otimizar um trecho lento em uma aplicação Rails. Não estou criticando o Ruby/Rails, mas no caso deles a otimização teria que ser feita em C/C++, e se a tecnologia utilizada fosse o Grails, a otimização seria implementada em java. Vê a diferença?

Existem muitas tecnologias por aí, é só escolher qual resolve melhor seu problema e qual sua equipe atual teria menos dificuldade de aprender.

R

neófito:

Performance pra você não significa nada? Pelo que sei, excluindo C/C++, não há nada mais performático que java. Além disso o java se sei bem em portabilidade, segurança e outros.

Hoje se eu for desenvolver um sistema web novo eu muito provavelmente não escolheria o conjunto java padrão (java + framework web), mas sim algo mais dinâmico como o Grails. Mas há momentos em que a plataforma java é bem interessante, principalmente pelo conjunto de bibliotecas existentes. E como já disse, dentro da plataforma posso usar Java, Groovy, Ruby, Python, Scala…

Um exemplo interessante é otimizar um trecho lento em uma aplicação Rails. Não estou criticando o Ruby/Rails, mas no caso deles a otimização teria que ser feita em C/C++, e se a tecnologia utilizada fosse o Grails, a otimização seria implementada em java. Vê a diferença?

Existem muitas tecnologias por aí, é só escolher qual resolve melhor seu problema e qual sua equipe atual teria menos dificuldade de aprender.

Sinceramente nunca precisei gerar HTML 0.5 segundo mais rápido pra resolver problema de performance, geralmente o gargalo em aplicações web está na rede e/ou banco de dados. Neste caso adoto uma estratégia de cache adequado para a situação.

N

Renato Machado:

Sinceramente nunca precisei gerar HTML 0.5 segundo mais rápido pra resolver problema de performance, geralmente o gargalo em aplicações web está na rede e/ou banco de dados. Neste caso adoto uma estratégia de cache adequado para a situação.

Sim, concordo, geralmente o gargalo é I/O. E também concordo que o java está ficando para trás para desenvolvimento web. Mas isso não se aplica a todos os casos e há momentos que um pouco mais de performance é realmente necessário. Há um bom tempo atrás eu estava argumentando com alguém que o java permite implementar bibliotecas como a JavaSSH, que é uma implementação de ssh em java puro, o que linguagens como o ruby não permitem, pelo menos não com uma performance aceitável. Há também o caso do twitter que teve que mudar partes de seu sistema de ruby para java, justamente para ganhar performance.

Além disso há outros fatores, como maturidade da plataforma, bibliotecas, etc. Uma coisa que me agrada no java é a plataforma como um todo. A jvm é confiável e rápida, há muitas bibliotecas disponíveis, há várias linguagens e tecnologias e há profissionais no mercado. Não vejo isso em outra plataforma.

R

neófito:

Sim, concordo, geralmente o gargalo é I/O. E também concordo que o java está ficando para trás para desenvolvimento web. Mas isso não se aplica a todos os casos e há momentos que um pouco mais de performance é realmente necessário. Há um bom tempo atrás eu estava argumentando com alguém que o java permite implementar bibliotecas como a JavaSSH, que é uma implementação de ssh em java puro, o que linguagens como o ruby não permitem, pelo menos não com uma performance aceitável. Há também o caso do twitter que teve que mudar partes de seu sistema de ruby para java, justamente para ganhar performance.

Além disso há outros fatores, como maturidade da plataforma, bibliotecas, etc. Uma coisa que me agrada no java é a plataforma como um todo. A jvm é confiável e rápida, há muitas bibliotecas disponíveis, há várias linguagens e tecnologias e há profissionais no mercado. Não vejo isso em outra plataforma.

Mas SSH não tem nada a ver com desenvolvimento web, ninguém tem que usar struts por causa de SSH. Você não pode usar Grails e acessar a biblioteca de SSH? Bem provável, quem usa linguagens dinâmicas não volta usar estatica, só com um cheque bem gordo, é tão natural linguagens dinâmicas e web.

C

Renato Machado:
neófito:

Sim, concordo, geralmente o gargalo é I/O. E também concordo que o java está ficando para trás para desenvolvimento web. Mas isso não se aplica a todos os casos e há momentos que um pouco mais de performance é realmente necessário. Há um bom tempo atrás eu estava argumentando com alguém que o java permite implementar bibliotecas como a JavaSSH, que é uma implementação de ssh em java puro, o que linguagens como o ruby não permitem, pelo menos não com uma performance aceitável. Há também o caso do twitter que teve que mudar partes de seu sistema de ruby para java, justamente para ganhar performance.

Além disso há outros fatores, como maturidade da plataforma, bibliotecas, etc. Uma coisa que me agrada no java é a plataforma como um todo. A jvm é confiável e rápida, há muitas bibliotecas disponíveis, há várias linguagens e tecnologias e há profissionais no mercado. Não vejo isso em outra plataforma.

Mas SSH não tem nada a ver com desenvolvimento web, ninguém tem que usar struts por causa de SSH. Você não pode usar Grails e acessar a biblioteca de SSH? Bem provável, quem usa linguagens dinâmicas não volta usar estatica, só com um cheque bem gordo, é tão natural linguagens dinâmicas e web.

Fala isso para o povo do Twitter então…

R

clone_zealot:

Fala isso para o povo do Twitter então…

Não entendi. Fala isso como se linguagens dinâmicas fossem um experimento que falhou para eles?

N

Renato Machado:
Mas SSH não tem nada a ver com desenvolvimento web, ninguém tem que usar struts por causa de SSH. Você não pode usar Grails e acessar a biblioteca de SSH? Bem provável, quem usa linguagens dinâmicas não volta usar estatica, só com um cheque bem gordo, é tão natural linguagens dinâmicas e web.

O que eu quis dizer é que há casos e casos, não podemos generalizar. Além disso, não é apenas o fato da linguagem ser tipada dinâmicamente que traz aquela sensação de flexibilidade a que você se refere. Linguagens estaticamente tipadas com características funcionais e com boas implementações de type inference no compilador também se demonstram bem práticas, como é o exemplo do scala. E isso com todos os benefícios da tipagem estática: performance, erros em compile time, etc.

Em tecnologia, a diversidade é uma coisa boa. There is no silver bullet.

A

Engraçado que PHP foi jogado na fogueira um tempo atrás porque Tipagem estática era moderno…

Heuheueheueheuheuehuehueheuehueheuehueheuehuehe TI e suas modas eternas…

Quero estar vivo o dia que botarem na fogueira as dinâmicas de novo… rsrsrsrsrs :slight_smile:

Abs []

R

Uma aplicação web não tem nada de funcional e não vejo como beneficiaria de tipos, poderia explicar? basicamente você está ouvindo requisições em um socket e respondendo alguma coisa em função dessa requisição. De que forma características funcionais e tipos torna prático desenvolver aplicativo web em Scala?

L

O tópico já fugiu do assunto principal… em partes.

Twitter, Facebook e afins são difíceis de serem usados para parâmetro, afinal ninguém nunca vai chegar nem perto da necessidade desses projetos (só bancos como itau ou bradesco talvez), são casos muito específicos, o que o Twitter precisou fazer de ganho de performance quando trocou Ruby por Java (libs e framework específicos) nem 1% dos projetos do mundo vai precisar fazer um dia, ou todo mundo aqui precisa lidar com 500 milhões de usuários? 300 mil requisições por segundos?

[]s

R

[editado pela moderação]

J

quem quiser comparar benchmarks pode olhar aqui.

http://shootout.alioth.debian.org/u32/performance.php?test=knucleotide

Em termos de consumo de memória podem ver que c++ é bem exuto e a jvm está bem longe nesse quesito. Mas quando se trata de processamento podem ver que é o melhor depois do c++.

Criado 1 de agosto de 2011
Ultima resposta 2 de ago. de 2011
Respostas 31
Participantes 16