Interface para desktop perde para as concorrentes?

32 respostas
R

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?

32 Respostas

D

Isso é argumento falacioso de quem não conhece a tecnologia a fundo.
Claro que a interface java é diferente da existente em .NET e Delphi, mas com um bom uso dos Look and Fields, isso pode até passar desapercebido.
Assim sendo, é o mesmo que dizer que os layouts desenvolvidos pela jsp são ruins, mas nem lembrar que existe CSS.

L

Oi,

Acho que ele está totalmente errado.

Tchauzin!

R

Então eu também discordo, mas depois que ele falou comecei a pensar que realmente os programas que desenvolvo não possuem aquela beleza que ja vi em outros programas.
Mas como eu disse deve ser porque não sou muito bom com design mesmo.

Tem algum jeito de dar mais beleza pros nossos aplicativos? A solução é o Look and Feel?

F

Muda de escola. Fui… brincadeira

O que dizer do JavaFX para desktop e do Lock and Fields?

Veja um tópico com look and fields http://www.guj.com.br/java/76668-java-look-and-feel

Acho que isso vai de desenvolvedor para desenvolvedor. Mas achar o Delphi mais bonito que java mostra que ele não conhece bem o que está falando.

J

Eu trabalho com .NET, ele tem razao quanto a comparar Windows Forms com Swing, look and feels só deixa o feio maquiado, entao fica um bonito nao natural. Mas ele só errou em nao mencionar SWT que é uma solucao portavel, embora bem menos produtivo que Windows Forms, ambos oferecem UI naturais de verdade do sistema operacional, como exemplo o Eclipse, mas a comunidade ignorou o que era bom. Outra coisa, ele esqueceu de considerar tambem JavaFx que concorre com WPF do .NET, ambas para solucoes mais criativas usando recursos vetoriais que podem ir alem de tudo.

Mas concordo que uma aplicação desktop deva ser nativa ou portável (nem falo em relacao a UI), nao gosto de solucoes niveladas, me sentiria desmotivado supondo trabalhar com Netbeans para C#.

L

rei_nl_ds:
Então eu também discordo, mas depois que ele falou comecei a pensar que realmente os programas que desenvolvo não possuem aquela beleza que ja vi em outros programas.
Mas como eu disse deve ser porque não sou muito bom com design mesmo.

Tem algum jeito de dar mais beleza pros nossos aplicativos? A solução é o Look and Feel?

Oi,

Uma delas é o Look and Feel. Existem outras formas… customizando e fazendo seus próprios botões, telas com layout, fundos de parede etc…

Tchauzin!

L

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?


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

M

cara…
já fiz vários programas desktop em java que ficaram visualmente elegantes! teve um que fiz que nem parecia ser java… só apliquei o lookandfeel do windows e fiz alguns minimos ajustes
e se for pra ficar cheio de “papagaiada” é só usar FLEX, FX ou similares
lembrando que: do que adianta um sistema lindo e maravilhoso, cheio de maquiagem, se ele não é eficiente?
se pesquisar na internet, você vai encontrar uma tonelada de sistemas feitos em Delphi, com um layout estupdamente horrivel, uma tremenda poluição visual!!! ja chequei a ver um que tem um formulário vermelho, e as vezes saltava uma tela com o fundo amarelo “tô aqui”, quase tive vertigem, parecia mais um arco-íris!rsrs
então acho que beleza depende do desenvolvedor e não da tecnologia

V

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.

R

Interessante as respostas!
Gostei demais pessoal!

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!

R

Muito bom o esclarecimento do ViniGodoy! :shock:

V

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!

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.

M

drsmachado:
Isso é argumento falacioso de quem não conhece a tecnologia a fundo.
Claro que a interface java é diferente da existente em .NET e Delphi, mas com um bom uso dos Look and Fields, isso pode até passar desapercebido.
Assim sendo, é o mesmo que dizer que os layouts desenvolvidos pela jsp são ruins, mas nem lembrar que existe CSS.

Desde quando precisa conhecer tecnologia a fundo pra avaliar uma interface como boa ou ruim?

Parece mais desculpa de quem está apaixonado pela tecnologia. :wink:

L

Oi,

De acordo com a evolução da tecnologia, atualmente, os aplicativos são mais adequados para Web. Nota-se que cada vez mais o mundo cloud está crescendo. Hoje em dia é muito mais robusto ter um banco de dados e um aplicativo nas nuvens do que ter um banco e aplicativo armazenados localmente. Basta imaginar as possibilidades de acesso. Um dos motivos da cloud crescer dessa forma, chama-se: Aparelho Celular.

Eu, particularmente, não concordo com a grande maioria quando se fala em aplicativos desktop em Java. Eu gosto, curto e desenvolvo bastante. Muita gente pensa em criar aplicativos Java Desktop só para comunicação serial ou algo desse tipo. Mas eu digo, dá sim de fazer um sistema funcional e bonito em Java.

Tchauzin!

R

Preciso confessar-lhes que desconheço o que vem a ser essa plataforma QT, mas uma coisa para adicionar a lista de estudos :shock:

A

Do ponto de vista usuário (já que nunca programei nada sério em java para desktop), eu também não gosto do swing.

Uma coisa que me incomoda, não sei se já foi resolvida, é clicar com o botão direito num campo texto e não aparecer menu de contexto.
Dá a impressão que ele não é bem integrado ao sistema operacional.
(Não sei se Ctrl + C, Ctrl + V funciona automaticamente)

R

Ehh, preciso confessar-lhes que conheço muito pouco sobre essa tecnologia, QT que vocês falaram.

Com ela seria possivel desenvolver programas visualmente melhores que java e também multiplataforma.

Serio sei muito pouco mesmo de QT, so agora que encontrei no google que é um framework para desenvolvimento em c++

:shock:

V

E é isso mesmo. Mas é um framework completo: http://qt.digia.com/

I

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.

J

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.

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.

E

Luiz Aguiar:
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?


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

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).

J

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!

X

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.

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).

X

ViniGodoy:
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!

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.

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!

J

x@ndy:
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.

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).

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…

X

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 ???

Se for para rodar em multiplas plataformas, talvez o java seja uma boa escolha, mas talvez, isso tem que ser analisado.

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…

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:

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.
J

x@ndy:
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 ???

Se for para rodar em multiplas plataformas, talvez o java seja uma boa escolha, mas talvez, isso tem que ser analisado.

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…

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:

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.

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!

X

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!

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.

J

x@ndy:
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!

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.

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…

X

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.

Cara, vamos ser bem claros.

  1. Java é ruim para o desktop. Ponto final. Os motivos estão declarados ai em cima!
  2. 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!

J

Java desktop so mesmo para casos cross plataform, é a unica vantagem. Swing é tosco, prefiram Swt ou Fx.

J

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…

Criado 26 de fevereiro de 2013
Ultima resposta 2 de abr. de 2013
Respostas 32
Participantes 14