Java Desktop - Dêem suas opiniões

55 respostas
paulohbmetal

E aí galera, blz?:smiley: Bom, gostaria de saber a apnião de vcs.
Estudo java a algum tempo(2 anos e meio +/-).E de lá pra cá tenho estudado muito java para desktop.Estou fazendo aplicações e sempre que sei e posso, ajudo a comunidade e estou postando dúvidas.

  • Bom, o que queria saber de vcs é o que vcs acham da tecnologia java para Desktop?
  • Conheço muitos softwares feitos em Java para Desktop(Swing, SWT e etc…), mas quase não vejo softwares comerciais.Vcs acham que é “latada”?
  • Será que a Sun vai investir, ou continuaremos sem “grandes” mudanças?

A Paz!!

55 Respostas

andre_a_s

Particularmente eu adoro a parte desktop pra Java, mas acho que o grande problema(principalmente com SWING) é a performance. Ele é mto lento comparado com aplicações desktop de outras tecnologias.

paulohbmetal

Pois é, eu sou “viciado” em Swing, mas vc tocou no ponto fraco dela.Já fiz coisas muito boas, mas minha máquina é boa, e se for passar para uma “piorzinha” o bicho pega…Vcs conhecem algum caso de sucesso(Swing em aplicação Comercial)?

A Paz!!

rodrigousp

Tem alguns softwares (muito bons por sinal) para desktop, mas a maioria que eu conheço é ferramenta para desenvolvimento…

Talvez esta seja uma tendência do mercado depois do monopólio da Micro$oft. (A IBM desistiu do mercado de aplicativos em 99 para se dedicar a middleware).

Sei lá … o que vc gostaria de desenvolver para Java ???
Um exemplo que java pode ser como desktop é o eclipse. Eita Ide boa !
Outros aplicativos que mesclam java estão no pacote do staroffice.

Bom, é isto ai …

Dennys

Hum… comercialmente falando…

Ainda não vejo onde java(desktop) seria bom no comércio… mas sei lá… vai saber se a Sun desenvolver que melhore o desenpenho assustadoramente… rs**

No meu ponto de vista a tendência é sistemas voltado para a web, pois fica fácil você interligar todas as lojas de uma determinada empresa entende?

Sem contar que você consegue atualizar o sistema sem ir até o cliente… basta acessar o servidor ftp e atualizar o arquivo :)…

Há vários motivos, acho que swing ainda não é um ponto chave, mas talvez um dia…

Atn.
Dennys Fredericci

andre_a_s

Assim… se formos comparar com alicação SWING com uma feita em C#.net… de boa… não existe comparação. Por isso que acho que ainda não chegou o tempo do SWING, é uma pena, pois o SWING é coisa linda!!!
Mas APIs como o SWT já quebram uma galho legal né.! :wink:

jcranky

Eu diria que Swing foi lenta, hoje não é tanto. O maior problema é que construir interfaces eficientes em Swing é um tanto quanto complicado.

Um bom exemplo é a aplicação para declaração do IRPF que o SERPRO desenvolveu. Não cheguei a utilizá-la, mas ela está sendo bastante comentada. E a interface dela é toda Swing.

P

Olha, na minha opinião Java teria que ganhar um pouco mais de performance para abrancer mais a área desktop, na empresa que eu trabalho por exemplo eles só querem saber de Java para web e celulares… e muitos clientes não querem saber se o sistema deles roda também em Linux e Unix… eles querem performance

andre_a_s

Isso é verdade… :?

marcelomartins

Mais velocidade? Não poderia ser assim:

:arrow: Escreve os códigos fontes com Swing;

:arrow: Compila tudo e faz um lindo arquivo.jar multiplataforma;

:arrow: > wjavac arquivo.jar e cria um executavel nativo do windows tão rápido quanto o .net;

:arrow: # ljavac arquivo.jar e cria um executavel nativo do linux quase tão rapido quanto o gcc;

Eu acho uma pena não existir uma solução assim.

paulohbmetal

Pois é…Por exemplo, eu trabalho em uma empresa que só trabalha com produtos Micro$oft, e vou ter que desenvolver alguma coisa, para desktop, em C#, daí veio a dúvida: será que Java é páreo?!
Phoda, é pensar que tanto tempo de dedicação pode ir para o ralo… :frowning: Cara, eu gosto muito de Swing, foi o que me fez gostar do Java.Quando meu professor(na faculdade) nos apresentou java, eu não gostei…Também, como todo(ou quase todo) programador/amante C/C++, tive uma certa resistência.Estou fazendo um aplicativo para Estúdios de música, para controle de agenda, bandas, envio de email e etc…

A Paz!!

jcranky

Isso porque o mercado está ‘viciado’ em aplicações web. Os ‘chefes’ se esquecem (ou não sabem) que uma aplicação Desktop Java pode acessar a rede normalmente.

Quanto a atualizar o software sem ir ao cliente, você pode fazer isso facilmente utilizando Java Web Start.

Dennys

Hum… e o fato do cliente poder tirar um relatório lá na casa dele?

e o fato dele poder ver como estão as vendas mesmo quando está
longe do estabelecimento…

Por esse e outros fatos que sou mais java voltado para web…

Atn.
Dennys Fredericci

andre_a_s

Com muita dor no coração eu digo… não… infelizmente C# é bem mais rápido., :frowning:

paulohbmetal

Com muita dor no coração eu digo… não… infelizmente C# é bem mais rápido., :(

Pois é… :frowning:
Acho que vou chorar… :cry:

A Paz!!

P

concordo, eu tb sou um amante e defensor do Java, mas eu tenho que admitir C/C# é mais rápido que Java, talvez até melhor na questão desktop… :frowning:

paulohbmetal

O que vcs acham de organizarmos uma passeata em frente a Sun( com direito a queima de colchões e tudo mais…) para reinvidicarmos performance? :lol:

A Paz!!

F

Com muita dor no coração eu digo… não… infelizmente C# é bem mais rápido., :(

Vamos la, Swing não é tão lento assim tudo depende, vide Jude e IDEA rápidos, agora olhem o NetBeans :roll:.
Ta certo são ferramentas de desenvolvimento que requerem muitos recurosso, mas são Swing e mostram, o que ele é capas. Outra coisa, performance todos cobram e nós sempre buscamos isso, agora faz uma tela simples em Swing, mostra pro usuário que ele pode mudar o Tema, colocar Skins e ve se ele se lembra que o sistema ficou um pouco mais lento. Só não vai desenvolver usando o Metal padrão do Swing que o usuário te corre.

Outras opções:

Uma delas e muito badalada ultimamente o ThinLet com XUL, me parece um forte concorrente. Recentemente um colega do RSJug anuncionou na lista a liberação do projeto dele no SF que foi baseado no ThinLet, para quem se interessar e quizer dar um look nos fontes, ThinFeeder

Estou reproduzindo a mensagem dele aqui para todos verem o que foi usado.

“Fabiano Franz”:
Caros colegas,

Quero divulgar que disponibilizei nesse final de semana um projeto open-source que vinha desenvolvendo. Trata-se do ThinFeeder, um agregador de notícias RSS / Atom para desktop, desenvolvido em Java utilizando Thinlet. O aplicativo pode ser baixado em

http://thinfeeder.sourceforge.net

Utilizei esse projeto como uma forma de avaliar o Thinlet (http://thinlet.sourceforge.net) como alternativa ao Swing e SWT, no desenvolvimento para desktop. E devo compartilhar com os colegas que a experiência foi bastante positiva! O Thinlet atendeu todas minhas necessidades de interface (à exceção da “Textarea HTML”), e o desenvolvimento, baseado em xml’s no padrão XUL (http://xul.sourceforge.net), também mostrou-se bastante produtivo. Eventuais necessidades adicionais (widgets com dados dinâmicos, etc) não comportadas pelo xml padrão também puderam ser facilmente resolvidas programaticamente.
Se alguém tiver interesse em saber mais entre em contato, ou baixe o fonte do aplicativo. Como uma avaliação final, diria que, para projetos com necessidades de interface de baixa e até média complexidade, avaliaria seriamente a adoção do Thinlet.

Um abraço,

Fabiano Franz
Universidade do Vale do Rio dos Sinos - UNISINOS
Personal:

http://thinfeeder.sourceforge.net
http://jimagetaglib.sourceforge.net

Agora, apesar de muitos não gostarem pois dizem perder a portabilidade o conjunto SWT/JFace é muito forte no quesito performance, nunca cheguei a fazer um teste, mas acredito que não fique muito atras do WinForm do VS. Só não faça a besteira de usar SWT puro, aproveite o que já existe pronto no JFace.

Apesar de muita coisa ser desenvolvido para Web ultimamente, eu ainda sou um dos que acreditam que os chamados sistemas desktop não morreram, só mudaram um pouco o foco. Não podemos mais pensar em um sistema desktop como antigamente onde rodava unica e exclusivamente em uma maquina cliente, mas sim sistemas distribuidos, com acesso a distancia, etc.

]['s

Luca

Olá

Não sei o que você e outros chamam de Java Desktop porque aqui na minha máquina tudo o que executo sai a partir de um desktop. Mas se está falando de aplicações com camada de apresentação Swing então isto eu sei o que é.

Já foi em alguma Droga Raia? A gestão das lojas desta enorme cadeia é feita em Java. Já foi em alguma agência dos Correios com Banco Postal? É tudo Java. Há Java em todo lugar, só que não está escrito explicitamente Java.

Quem pensa que Java é lento está apenas repetindo um discurso antigo sem fundamento. Aliás o VB quando começou a ser usado era muito mais lento do que o Java. As máquinas evoluiram e o VB também. O mesmo se passa com o Java. Programando direitinho compete com qualquer outra linguagem.

Por último quero enfatizar que seria uma enorme tolice iniciar qualquer projeto hoje em dia que não seja voltado para a web. Portanto não misturem as coisas:[list]- Swing é aquela camada de apresentação customizada que você mesmo faz e que contém tudo aquilo que precisa.

  • Outra alternativa para apresentação seria usar um browser pesado e inseguro que faz um monte de coisas que você não precisa e incluir sua aplicação usando html que é absolutamente limitado[/list]
    Portanto deem asas a imaginação e usem tudo o que tem direito para fazer uma aplicação decente.

<editei>Porque depois li a mensagem do Fábio e concordo 150% com ele</editado>

[]s
Luca

brlima

Concordo com vc Fabio. Acho que a web que hoje roda no browser, logo mais serao aplicações desktops, distribuidas :smiley: É a coisa mais linda que ja vi! Conheço aplicações muitos boas e que são usadas por mta gente. Um bom exemplo, é o banco postal dos correios, feito em swing, pra desktop, mas pensando na linha “aplicação distribuida”.

Conheço tb diversas outras aplicações de empresas para B2B que são show de bola!

Swing não é lento: vc faz o swing ficar lento :smiley: Se vc nao conhece e nao saber trabalhar BEM com o swing, realmente, ele fica beeem lento. Mas é tudo uma questão de saber trabalhar o codigo. A experiencia fala um pouco mais alto com ele. Td bem que ainda não chega aos pés de uma aplicação VB por exemplo, mas poxa, swing é muiltiplataforma!Tem themes! Vc pode faze ro que quiser com ele! E o vb, o c++? Acho que não neh!? Alias, alguem houviu falar de alguma coisa pareceido com o WebSTart para VB ?? Eu não…

Abraços!

jcranky

Nada impede que o cliente instale a aplicação na máquina dele. Via JWS ele poderia fazer isso com 1 clique. :wink:

maresp

Luca, vc sabe como funciona a interação com impressoras fiscais nestes sistemas que vc citou? É JNI, JavaComm? Pq os principais fabricantes disponiblizam somente .dll´s para comunicação com seus dispositivos. Eu vejo um pequeno empecilho aqui quanto ao desenvolvimento de aplicações que possuem frente de caixa e portanto devem utilizar uma impressora fiscal.

post antigo, mas interessante sobre o assunto das ECF´s

andre_a_s

“paulohbmetal”:
O que vcs acham de organizarmos uma passeata em frente a Sun( com direito a queima de colchões e tudo mais…) para reinvidicarmos performance? :lol:

A Paz!!

Eu acho um boa idéia!!!
Ou melhor… vamos obrigar todos usuário a usarem processadores de 3.0g 64bits e 1gb de memória ddr 533

Quero ver aplicação lenta!!! 8)

Luca

Olá

Realmente a maioria dos fabricantes só tem drivers para ECF para Windows. No Windows émuito fácil usar JNI e java.comm para acessa-las. O Banco Postal roda em Windows e é assim que fizemos o acesso aos periféricos.

Quando fizemos uma versão do Banco Postal para Linux usamos rxtx junto com o java.comm (que entra só como abstração) e sentimos algumas dificuldades. Algumas coisas não funcionaram exatamente igual e precisamos fazer algumas pequenas gambiarras (no protocolo de leitura do PINpad se não me engano).

Ouvi dizer que os desenvolvedores da Droga Raia escreveram os drivers que acessam os periféricos para fazer tudo funcionar direitinho no Linux que roda em todas as lojas. Há na web várias bibliotecas free (exemplo: parport) ou comerciais (exemplo: serialIO) que dão bom suporte nesta hora.

Acredito que em breve mais fabricantes acordem, desenvolvam drivers para Linux para não ser mais necessário usar Wine para acessar ECF e TEF.

[]s
Luca

paulohbmetal

Concordo com vc Fabio. Acho que a web que hoje roda no browser, logo mais serao aplicações desktops, distribuidas :smiley: É a coisa mais linda que ja vi! Conheço aplicações muitos boas e que são usadas por mta gente. Um bom exemplo, é o banco postal dos correios, feito em swing, pra desktop, mas pensando na linha “aplicação distribuida”.

Conheço tb diversas outras aplicações de empresas para B2B que são show de bola!

Swing não é lento: vc faz o swing ficar lento :smiley: Se vc nao conhece e nao saber trabalhar BEM com o swing, realmente, ele fica beeem lento. Mas é tudo uma questão de saber trabalhar o codigo. A experiencia fala um pouco mais alto com ele. Td bem que ainda não chega aos pés de uma aplicação VB por exemplo, mas poxa, swing é muiltiplataforma!Tem themes! Vc pode faze ro que quiser com ele! E o vb, o c++? Acho que não neh!? Alias, alguem houviu falar de alguma coisa pareceido com o WebSTart para VB ?? Eu não…

Abraços!

Pois é…Na minha aplicação a cliente pode escolher dentre 20 look and feels diferentes, sem falar nos temas.A respeito de performence, sempre procuro estar melhorando a performance, e não acho minha aplicação lenta…Mas mesmo fazendo tudo como nos preenchimentos dos combos e jTables, ainda acho que poderia ser melhor.Acho que o que pode pegar são os renderers/editores, se não forem BEM feitos, como disse nosso colega brlima, pode derrubar a performance da aplicação.

Falando em sistemas distribuídos: isso é o bicho!!Quero fazer minha pós em sistemas distribuídos pois acho muito louco…Ouvi falar que o Swing é mais lento por causa do uso excessivo que fizeram de Design Patterns na sua construção, o que vcs acham?

paulohbmetal

Putz… :shock:

Esquece…

A Paz!!

andre_a_s

Putz… :shock:

Esquece…

A Paz!!

hehehheheheheh
:twisted:

Luca

Olá

Para TODOS.

Coloquem em suas cabeças: estamos em 2004 e não há mais sentido desenvolver aplicações isoladas e confinadas em redes locais.

Esqueçam todos os modelos usados pela M$ na porcaria do Office que funciona isolado. A palestra que eu escrevi para o Conexão Java precisou ser zipada e enviada para o Paulo por e-mail. Depois fiz uma alteração e precisei enviar de novo. Se a merda do power point fosse uma aplicação condizente com o atual milênio com um repositório em algum servidor web, eu poderia mexer a vontade e ela estaria sempre atualizada.

Que graça tem um joguinho para jogar sozinho? E um sistema frente de loja que não atualiza estoque de todas as filiais? E um datawarehouse que consolida dados via e-mail?

E nunca misturem conceitos: a camada de apresentação pode ser feita de qualquer maneira. Se você se sente melhor com Delphi ou com Assembler, então use-o. Mas pelo amor de Deus não misturem com camada de negócios ou de serviços como alguns idiotas costumam fazer quando usam Delphi ou VB.

[]s
Luca

paulohbmetal

“Luca”:
Olá

Para TODOS.

Coloquem em suas cabeças: estamos em 2004 e não há mais sentido desenvolver aplicações isoladas e confinadas em redes locais.

Esqueçam todos os modelos usados pela M$ na porcaria do Office que funciona isolado. A palestra que eu escrevi para o Conexão Java precisou ser zipada e enviada para o Paulo por e-mail. Depois fiz uma alteração e precisei enviar de novo. Se a merda do power point fosse uma aplicação condizente com o atual milênio com um repositório em algum servidor web, eu poderia mexer a vontade e ela estaria sempre atualizada.

Que graça tem um joguinho para jogar sozinho? E um sistema frente de loja que não atualiza estoque de todas as filiais? E um datawarehouse que consolida dados via e-mail?

E nunca misturem conceitos: a camada de apresentação pode ser feita de qualquer maneira. Se você se sente melhor com Delphi ou com Assembler, então use-o. Mas pelo amor de Deus não misturem com camada de negócios ou de serviços como alguns idiotas costumam fazer quando usam Delphi ou VB.

[]s
Luca

Ou, calma cara… :shock:

Tá parecendo que algum fã do notNET te mordeu!Brincadeirinha hein?!
Aqui nós não temos este problema de separação de camadas, né galera?! :lol:

Agora, este Paulo que vc se referiu, foi eu?Se sim, valeu cara!Senão, manda assim mesmo… :lol:

Mas com todo nervosismo á parte, acho que vc está certo.Mas ainda acho que o Swing pode melhorar… :stuck_out_tongue:

A Paz!!

Luca

Olá

Paulo, nenhum nervosismo, nem imagino como encontrou algum na minha mensagem. Apenas enfatizei o óbvio porque ainda tem gente por aí que clica em botão para colocar na tela componentes que acessam diretamente o banco de dados. Se estou errado me desculpe.

O Conexão Java foi coordenado pelo Paulo Silveira, pensei que todos aqui soubessem disto.

[]s
Luca

paulohbmetal

“Luca”:
Olá

Paulo, nenhum nervosismo, nem imagino como encontrou algum na minha mensagem. Apenas enfatizei o óbvio porque ainda tem gente por aí que clica em botão para colocar na tela componentes que acessam diretamente o banco de dados. Se estou errado me desculpe.

O Conexão Java foi coordenado pelo Paulo Silveira, pensei que todos aqui soubessem disto.

[]s
Luca

Não, não…Pode ficar tranquilo que eu não uso estes botões(componentes) mágicos (a lá Micro$oft, vide data Biding). :smiley:
Sobre o conexão Java, infelizmente não deu pra mim ir não, nem saber detalhes, por motivos de distância.Então blz…

  • Vcs tem algum material(site, tutorial, apostila etc) que dêem dicas de performance em Swing para nos fornecer?

A Paz!!

F

“Luca”:
Olá

Paulo, nenhum nervosismo, nem imagino como encontrou algum na minha mensagem. Apenas enfatizei o óbvio porque ainda tem gente por aí que clica em botão para colocar na tela componentes que acessam diretamente o banco de dados. Se estou errado me desculpe.

Errado sim Luca, mas em dizer que existe gente, não, não. Existe muita gente que faz isso, e ainda se diz desenvovledor.

]['s

Daniel_Quirino_Olive

A camada de apresentação, se tudo for muito bem feito, pode ser feito na tecnologia que você quiser: Swing, WinForms, Glade, C, HTML … O importante é sempre ter em mente separar as coisas direitinho.

Sobre Swing em si. Eu já bati muito na tecla de que Swing é uma das piores coisas que existem no J2SE. Não pela questão de performance, mas pela complexidade muito alta que você tem para fazer coisas muito simples. Muitas aplicações já deixaram de ser feitas em Swing devido à complexidade muito alta em se desenvolver sisteminhas dos mais bobos possíveis, como aqueles belos from-form-to-database-and-back-again. Swing tem uma arquitetura belíssima, toda orientadinha a objetos, separando camadas adequadamente, mas, às vezes, é poder demais. Você não tem como usar um “Swing no modo automático”, em que você simplesmente pode abdicar de todo o poder e flexibilidade em favor de simplicidade e velocidade de desenvolvimento. Neste aspecto, Swing (aliás, a JFC como um todo) é muito ruim.

Mas se você não estiver muito preocupado com isso e estiver a fim de aplicações realmente portáveis e com uma alta gama de recursos, então JFC é uma opção mais do que viável.

Outra coisa interessante é este lance todo tornar a lógica da aplicação distribuída, porém centralizada em um servidor de aplicações. (mas mais tarde eu edito isso e coloco aqui minha opinião a respeito).

brlima

A não ser que voce tenha algum framework que faça esse trabalhao para vc. É assim que eu penso, tudo é complexo, VB é complexo, só que existe uma coisinha chamada IDE que facilita tudo pra vc. As vezes nao precisa ser uma IDE, mas uma biblioteca que simplifique o seu uso. Assim, qqer um pode construit uma tela que acessa banco e que seja rapido.!.. Alguem que nao conhece JDBC, nem nada de acesso a abanco com java, pegar o Hibernate, consegue fazer funcionar sem mta complexidade :smiley: né ? Acho que deveria ( e deverá ) funcionar assim. Sempre vai ser assim. Nasce algo complicado e com o tempo vai se simplificando, até anscer outra coisa complicada…

Flw!

W

fazer o que né, nem tudo e perfeito

paulohbmetal

Olha uma aplicação Swing que acho rápida:

DbVisualizer 4.1: http://www.dbvis.com/products/dbvis/

A Paz!!

A

Anos depois…

mas e aí, as coisas mudaram???

Tive um contato breve mas bastante prazeroso com Java e gostaria de adotá-lo como minha linguagem, mas na facul vamos trabalhar com C#.
Tenho uma séria tendencia a não abandonar a GUI desktop, mesmo desenvolvendo para WEB (B2B, B2M), por achar que na prática esta modalidade de interface ainda vai ser utilizada por muito tempo, principalmente por micro e pequenas empresas, que são o meu foco atual.

Na opinião de vocês que estão no mercado Java, já posso considerá-lo páreo ao .NET na categoria Comercial Desktop?

lina

Oi,

Uma questão ainda muito abordada nos tempo atuais por pessoas no meio da tecnologia é: Nossa! Você programa em Java? Excelente, java é linguagem do futuro!

Essa pergunta era feita a alguns anos atrás e continua até hoje.

Semana passada, alguém me fez essa pergunta (um de meus alunos, provavelmente). Respondi a ele: Não, Java não é futuro. Java é o Presente, o Agora e o Depois.
Essa pessoa ficou assutada…

Bom, posso dizer que desenvolver J2SE é excelente e que muitas empresas estão optando e migrando seus sistemas para JAVA.

Tchauzin!

fredferrao

Eu acho tranquilo desenvolver pra desktop em java, NUNCA vi problemas como tantos outros aqui ja viram.

No momento atual estou num projeto de um ERP feito todo em swing, mas sera feito em camadas as regras de negocio ficarao em um servidor web e serao feitas chamadas via http, depois mudar algumas interfaces pra web nao vai ser tao complicado.

Com relação ao C#, talvez se perca um pouco na produtividade, mas isto devido ao Drag and Drop do Visual Studio.

ViniGodoy

Em 2004 era terrível mesmo. Máquinas mais lentas, VM e Swing menos otimizados.
Hoje em dia, maravilha…

O Swing ainda é um pouco mais lento, mas muito mais flexível que a API básica do C#. Mas acho que a diferença de performance não pode ser usada como desculpa para impedir um desenvolvimento em desktop hoje em dia.

paulofafism

Em 2004 era terrível mesmo. Máquinas mais lentas, VM e Swing menos otimizados.
Hoje em dia, maravilha…

O Swing ainda é um pouco mais lento, mas muito mais flexível que a API básica do C#. Mas acho que a diferença de performance não pode ser usada como desculpa para impedir um desenvolvimento em desktop hoje em dia.

Concordo com o Viny. Trabalhar com Java hoje esta excelente com relação a alguns anos atrás. E não vejo problema alguma desenvolver sistemas Desktop com ele.

deniswsrosa

ViniGodoy:
Em 2004 era terrível mesmo. Máquinas mais lentas, VM e Swing menos otimizados.
Hoje em dia, maravilha…

O Swing ainda é um pouco mais lento, mas muito mais flexível que a API básica do C#. Mas acho que a diferença de performance não pode ser usada como desculpa para impedir um desenvolvimento em desktop hoje em dia.

Não só o JSE, hoje está tudo de uma maneira geral bemm mais simples, em 2004 pra fazer o upload de um arquivo era um parto, hoje em dia chega a ser cômico.

J

Pois é, eu sou “viciado” em Swing, mas vc tocou no ponto fraco dela.Já fiz coisas muito boas, mas minha máquina é boa, e se for passar para uma “piorzinha” o bicho pega…Vcs conhecem algum caso de sucesso(Swing em aplicação Comercial)?

A Paz!!

O Netbeans é um caso de sucesso. O principal problema que vejo no swing é o fato de ele não ser threadsafe. Você precisa modelar muito bem a aplicação, com threads para aliviar o trabalho da interface(swing). A classe swingworker é uma ferramenta boa para isso.

A

Bom, obrigado pela atenção e pronta resposta de todos.
Vou bater a poeira do meu Deitel e das apostilas do Caelum (as gratuitas …) e meter a cara.

Aproveitando, vocês poderiam me indicar algum livro ou material, preferivelmente em Pt, sobre desenvolvimento de sistema Java Desktop e/ou Comercial? (não será ofensa se for bem básico, sem problemas)

Valew!!!

Jose111

Link interessante http://blogs.sun.com/theplanetarium/entry/the_future_of_swing

J

Essa fonte ae tem um ano já. Não sei se a Oracle tem a mesma visão.

Jose111

É verdade … mas da para ter uma ideia do que a Sun queria fazer…

Eu acho legal os pontos levantados…

A

Beleza, foi bem legal…

Obrigado.

M

O Java 7 já está quase pronto, nem se a Oracle quisesse mudar, ela conseguiria a tempo. E por que prejudicaria um produto dela?

Gosto do Swing. Falta surgirem mais bibliotecas que o explorem melhor. O Visual Studio tem centenas de classes prontas, você consegue fazer de tudo com quase nenhuma codificação, sem precisar saber detalhes minuciosos de como funciona e por isso atrai não só os desenvolvedores mais avançados como também o pessoal mais leigo.

A

Falar que swing é lento em dias de i7, Quad e Dual core + máquinas e SO’s suportando 4GB+ RAM é complicado.
Me mostrem artigos científicos com testes pra falar que uma aplicação é lenta. O argumento que não é nativo foi argumento pra época dos PII MMX.

Andre_Brito

andre_mbm:
Falar que swing é lento em dias de i7, Quad e Dual core + máquinas e SO’s suportando 4GB+ RAM é complicado.
Me mostrem artigos científicos com testes pra falar que uma aplicação é lenta. O argumento que não é nativo foi argumento pra época dos PII MMX.

Pois é. Mas vai que o cliente quer comprar uns 50 micros e não quer pagar tão caro neles… Mesmo assim, acho que um Pentium hoje roda muito bem aplicações em Swing, se forem feitas de forma correta.

M

andre_mbm:
Falar que swing é lento em dias de i7, Quad e Dual core + máquinas e SO’s suportando 4GB+ RAM é complicado.
Me mostrem artigos científicos com testes pra falar que uma aplicação é lenta. O argumento que não é nativo foi argumento pra época dos PII MMX.

Me preocupa alguém recomendar esse tipo de máquina apenas pra rodar uma aplicação swing.

Esconder os fatos não ajuda me nada a plataforma, muito pelo contrário.

J

andre_mbm:
Falar que swing é lento em dias de i7, Quad e Dual core + máquinas e SO’s suportando 4GB+ RAM é complicado.
Me mostrem artigos científicos com testes pra falar que uma aplicação é lenta. O argumento que não é nativo foi argumento pra época dos PII MMX.

O swing é lento se você não souber usá-lo. Ele não é threadsafe. Isso quer dizer que qualquer thread que se crie, e que fará uma alteração na interface pode causar enormes problemas de sincronização. O SWT é um tollkit que usa o winforms, e é nativo do windows, dessa maneira ele roda lisinho no sistema.

É questão de codificação, mas o swing tem sim suas limitações. A melhor maneira de se perceber isso é usar dois toolkits distintos. Um exemplo com swt, ou gtk, e swing.

http://www.jguru.com/faq/view.jsp?EID=131370
http://java.sys-con.com/node/36264

J

andre_mbm:
Falar que swing é lento em dias de i7, Quad e Dual core + máquinas e SO’s suportando 4GB+ RAM é complicado.
Me mostrem artigos científicos com testes pra falar que uma aplicação é lenta. O argumento que não é nativo foi argumento pra época dos PII MMX.

Pensar em java como plataforma de desenvolvimento para máquinas com rios de memória não é uma solução adequada. Uma aplicação deve consumir o mínimo de recursos possíveis. Imagina uma aplicação java comendo 500mb da ram? Isso é o que um sistema operacional precisa para rodar hoje. Nem o netbeans consome isso.

J

marcosalex:
O Java 7 já está quase pronto, nem se a Oracle quisesse mudar, ela conseguiria a tempo. E por que prejudicaria um produto dela?

Gosto do Swing. Falta surgirem mais bibliotecas que o explorem melhor. O Visual Studio tem centenas de classes prontas, você consegue fazer de tudo com quase nenhuma codificação, sem precisar saber detalhes minuciosos de como funciona e por isso atrai não só os desenvolvedores mais avançados como também o pessoal mais leigo.

Estou me forçando a usar openjdk. Os novos recursos estão funcionando muito bem, e o novo gc deu uma bombada na performance do da jvm. Nem sei se vou utilizar a máquina da Oracle mais.

M

juliocbq:

Estou me forçando a usar openjdk. Os novos recursos estão funcionando muito bem, e o novo gc deu uma bombada na performance do da jvm. Nem sei se vou utilizar a máquina da Oracle mais.

Pra Oracle tanto faz, o importante é que esteja usando sua plataforma.

Criado 17 de agosto de 2004
Ultima resposta 19 de abr. de 2010
Respostas 55
Participantes 24