Interface para desktop perde para as concorrentes?

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?

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.

Oi,

Acho que ele está totalmente errado.

Tchauzin!

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?

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.

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

[quote=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?[/quote]

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!

[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

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

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.

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!

Muito bom o esclarecimento do ViniGodoy! :shock:

[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=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.[/quote]

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:

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!

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

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)

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:

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

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.