Java no Desktop é tão dificil e complicado assim ?!?

http://members.cox.net/sinzui/blog/world/2004-06-17.html

Nossa… eu sou realmente “into” desenvolver aplicacoes para Desktop com Java, falando principalmente para Linux. Mas o que esse cara falou tem até razão… eu fiquei um pouco chateado por ele ter razão…

O texto é grande, mas vale a pena ler…

O que vcs acham ein ? Me provem que ele ta errado :shocked!: plssss…

Olá

Provar que este bobocal está errado? Fácil, é só ir em qualquer agência dos Correios e ver o Banco Postal funcionando com mais de 10.000 terminais desktop on line desde 9 horas da manhã até a hora que fecha a última agência em Shopping Center.

Experimente passar seu cartão do Bradesco. Sabe o que vai acontecer onde quer que você esteja independendo se no meio da floresta amazônica ou no coração financeiro de SP? O seguinte:[list]- a senha do seu cartão criptografada no própio PINpad vai viajar criptografada até Brasília,

  • de Brasília vai criptografada até Osasco/SP no Racal do Bradesco onde a senha é aberta e conferida. Racal = máquina desencriptadora.
  • do Racal volta para Brasília a resposta se a senha confere ou não,
  • De Brasília a resposta volta até você para que siga fazendo sua transação ou digite a senha de novo.[/list]A senha foi só um exemplo. É claro que todas as transações fazem a mesma longa viagem com a diferença que a resposta vem do mainframe Bradesco.

O Banco Postal é um case de aplicação web com várias camadas separadas por enormes distâncias onde o terminal cliente foi feito usando swing. Alguém conhece algum case semelhante feito com os next, next, click, click, reboot, reboot da poderosa M$?

[]s
Luca

gostei luca…

mas é justamente isso que o texto tá falando… ele acha muito bom java para aplicacoes web… mas no Desktop nao eh bem assim. O que ele ta dizendo é para o java se lancar mais nativo com bindings para cada sistema… e foi isso q eu fiquei meio paradao no q ele disse sabe ?

Mas esse eh um dos maiores “problemas” do Java, o qual a Sun deixou parado por muito tempo. A ideia do Swing, originalmente, foi muito boa, mas a maior parte do que a sun pretendia para ele acabou nao ocorrendo de fato.

Apos o lancamento do java.net eh que ela esta conseguindo reverter um pouco isso, com uma quantidade de aplicacoes / frameworks de qualidade para produtividade em swing aparecendo por ai.

O passado da parte grafica / desktop do java ainda interfere muito hoje em dia, mesmo que muitos dos argumentos usados em artigos nao sejam mais validos atualmente. Eh um precos que a sun ( e, vendo bem, todos nos, adeptos de Java ) estamos pagando.

Eu vejo Swing com melhores olhos atualmente, e creio que muita gente sente a mesma coisa, mesmo estando longe do ideial.

Rafael

Olá

Acho que vc não entendeu minha resposta ou não conhece minha opinião sobre sistemas desenvolvidos no início deste milênio.

Antigamente, coisa lá do milênio passado, a gente desenvolvia sistemas que rodavam só nas nossas máquinas. Acredite, os sistemas eram umas porcarias, quando muito funcionavam em rede local. Tinha até um enorme sistemas cheio de botões que a M$ vendia horrores com nome de pacote Office que era assim e nem na rede local funcionava direito. Deve ter gente lá nas montanhas do Afeganistão que ainda usa coisas assim.

Mas agora já no 3o milênio não há mais sentido em sistemas isolados. Já imaginou vc fazendo um joguinho e não poder jogar com seu amigo no Japão. E quem compraria um sisteminha bem simples de contas a pagar se o diretor financeiro não pudesse entrar em um Cyber Café lá no meio do Rally dos Sertões e ver se tem alguma conta precisando ser liquidada neste dia.

Então não me fale mais de sistemas isolados porque não me lembro mais para que servem.

[]s
Luca

Tipo… quando eu vi o java-gnome eu achei massa… pensei “po, vai rolar integracao de aplicacoes com o ambiente e tal” e li em algum lugar q a Sun estava pensando em desenvolver um Ambiente Grafico pra se usar no JDS mas acho q foi so “fogo de palha”.

O que eu achei de interessante foi o seguinte: apesar do swing ser portavel o que falta ao Java é justamente isso. Integracao com Ambientes Graficos. Bato palmas no quesito de desenvolvimento Web e tudo mais, mas uma grande puxada para ele poderia ser justamente esse foco, que como voce disse, ficou parado durante muito tempo o que eu nao vejo é mudanca.

hehe calma luca… easy tiger

o que eu to querendo dizer, e que eu acho que vc q nao me entendeu, é a falta de desenvolvimento pra parte do Desktop. Tipo por que nao fazer um mp3 player com Java, ou um cliente MSN (ta bom ninguem precisa jogar pedras em mim eu sei que os dois existem) mas é isso justamente que pode levantar e impulsionar a linguagem mas com a falta de bindings ou seja lá o que fizerem fica difícil e é nisso que eu tô apertando entendeu ?

hehe paz luca :stuck_out_tongue:

Olá

E se sua namorada estiver viajando lá no Himalaia e você quiser ouvir ao mesmo tempo que ela sua música favorita não vai querer um MP3 player web compliant?

Java serve direitinho para fazer isto. Com interface gráfica e tudo. Veja se a turma do next, next, click, click, reboot, reboot tem tantas opções:[list]- swing;

  • SWT;
  • thinlet
  • XUL;
  • um monte de outras semelhantes;
  • HTML[/list][]s
    Luca

hahahahahaha… :stuck_out_tongue:

Muito boa a parte do HImalaia… (nao acho que eu ia deixar ela ir tao longe sem mim mas), pelo o que eu sei a MS ta fazendo uma gambiarra com o XUL nao é ?

Eu com um exemplo vivo (rodando) aqui e nao falei nada dele putz…

Eu uso o azureus como cliente de BitTorrent e uma coisinha q eu nao gosto dele é justamente quando vc tenta fecha-lo, se fosse “MS Based” estaria la… lindo junto ao relogio… mas como falta isso ao Java, ou a algo que implemente essa funcionalidade, fica um quadrado azul me chamando atencao hehe…

O que vc acha disso ?

ps. como vc disse uma vez para cv eu gosto quando vc responde os posts pq sempre eh um debatezinho

Olá

risos…é bom mesmo debater um pouco para reordenar velhas idéias e arrumar espaço na cabeça para idéias novas.

Não conheço este tal de azureus. Mas por coincidência esta semana vi algo em algum lugar sobre como fazer que uma aplicação Java vá para o system tray onde ficam o Apache, o OpenOffice, o Norton e os 2 iconezinhos das placas de rede. É possível fazer isto, só não sei se é necessário.

Fique tranqüilo que o Java serve para quase tudo, com certeza bem mais do que os next, next, click, click, reboot, reboot, format, format, fdisk, fdisk da M$.

[]s
Luca

[quote=“Luca”]Olá

risos…é bom mesmo debater um pouco para reordenar velhas idéias e arrumar espaço na cabeça para idéias novas.

Não conheço este tal de azureus. Mas por coincidência esta semana vi algo em algum lugar sobre como fazer que uma aplicação Java vá para o system tray onde ficam o Apache, o OpenOffice, o Norton e os 2 iconezinhos das placas de rede. É possível fazer isto, só não sei se é necessário.

Fique tranqüilo que o Java serve para quase tudo, com certeza bem mais do que os next, next, click, click, reboot, reboot, format, format, fdisk, fdisk da M$.

[]s
Luca[/quote]

Luca,

Este system tray que você diz deve ter visto no Java Net, esta semana estava estanpado no JavaDesktop um projeto que faz isso, tanto para Win como para o KDE. Agora minha pergunta, os next, next, click, click, reboot, reboot (como diria o Luca) fazem isso? Rodam em Win e Linux e ainda por cima colocam teu programinha la pertinho do relógio? Acho que não neh.
Sobre esse assunto, o Swing ficou um tempo parado mesmo, mas com o Tiger esta vindo muita melhoria nesta API, principalmente de performance.
Rolou um “bate boca” muito bom sobre Swing no Jablo, round1, round2…round10 rsrs…navegue nas blogs do Daniel, do Vitor, do CV e tinha um outro que eu não lembro no momento, mas navegando nesses vera o link para o outro Blog.

]['s

Sobre o Tray icon:
https://jdic.dev.java.net/documentation/incubator/tray/index.html

Cara é phoda mesmo :frowning: , gosto muito de desenvolvimento desktop, aliás, por enquanto, só desenvolvo para tal.Mas gostaria que o Swing desse uma melhorada, no que diz respeito a performance…Tem hora que eu fico meio desanimado…Mas por um lado está sendo bom pois estou sendo obrigado aprofundar e entrar nas “entranhas” da linguagem para melhorar a performance.

Mas no quesito liberdade, cara é o bicho!!Swing, para mim, é uma re-evolução, muito massa mesmo.Certo que isso deixa ela um pouco mais complexa, mas tudo tem um preço…Com C/C++ vc faz tudo, mas não é sopa de letrinhas.Facilidade tem seu preço também: limitação, vide Visual Basic.A primeira vez que eu troquei o Look and Feel de uma aplicação minha eu abri um sorriso de ponta a ponta…Ainda mais sabendo que aquilo funcionaria no Linux, Solaris e etc…

Uma vez um cara desenvolvedor .NET me falou que uma das maiores desvantagens no java estava no desktop daí falei:“Desvantagem!!Portabilidade, flexibilidade, vc chama de desvantagem!!”.Daí mostrei umas aplicações desktop em java para ele, e o mesmo começou a mudar de idéia.Só de não estar dependendo da API do Windows já é uma baita vantagem.

Bom, essa é minha humilde opnião… :slight_smile:

Eu acho que o poder do swing não se discute. Talvez seja a interface com o usuário mais poderosa que exista hoje em dia.

Basta ver por exemplo o Intellij IDEA, é muito bom, tem tudo que uma aplicação feita em qualquer outra linguagem tem. A galera que não conhece até duvida que foi feita em java. É meia devagar pra iniciar, mas eu inicializo ela de manha quando chego no trabalho, e pronto, ela roda rapidinho o dia inteirio! :smiley: A vantagem para o desenvolvedor é que eles tiveram o trabalho de desenvolver 1 vez e já ta rodando em qualquer sistema operacional que rode java. Para mim a vantagem é que não fico preso em nenhum SO para ter o prazer de utilizar o IDEA!

Mas temos problemas, eu tive que fazer um programa pra faculdade que monitorasse os programas rodando em uma maquina remota via SNMP. Beleza, a parte de busca das informações em java foi muito facil, implementar a logica foi barbada. Mas eu queria fazer uma tabela que fosse listando o numero de programas rodando na outra maquina. Ai o bixo pegou… eu quase fui na missa agradecer quando consegui fazer tudo. Que trabalhão, que dificuldade. Bahhhhh…

Isso é fato, infelizmente… Poder e dificuldade do Swing!

Isso ae

Marcelo Martins
marcelomartins2 at yahoo.com.br

Este tópico veio na hora certa para iluminar as minhas idéias!

De uns tempos para cá, comecei a fuçar os Ícones Mágicos do Kurumin Linux, tentando separar a construção da interface dos scripts de instalação. Tão logo eu me manifestei a respeito, descobri o SGP, implementado no Kalango Linux, que já fez a “modularização” (não sei se este é o termo adequado) que eu imaginei. Então comecei a explorar a interface em si, tentando construir uma alternativa à implementação atual (que usa aplicações externas como o Xdialog) que interaja diretamente com as toolkits. Para não perder a simplicidade de um script, optei pela linguagem Python, com bindings para GTK+ e Qt.

Com o tempo, como eu venho procurando um pretexto para praticar Java (afinal, tudo o que eu precisei fazer em programação, até agora, eu fiz em modo texto, com C e FORTRAN) e depois de uma discussão no fórum do Kurumin, da qual nasceu a idéia de um remaster do Kurumin com um suporte mais “amplo” a Java e/ou voltado para desenvolvimento, veio-me a idéia de construir esta interface (e outros pequenos utilitários) em Java, possivelmente para suprir este hipotético remaster.

Mas eu me perguntava (e ainda me pergunto): Será que vale a pena? Será que Java se presta bem a este papel de construir utilitários para desktop?

PS: ecarmo, agora você tem certeza de que me viu por aqui :wink:.

Cara, eu acho que sim.Tá bom que tem que melhorar, principalmente o Swing, mas está melhorando e não exito em investir nesta área.Estou sempre procurando novos lançamentos e atualizações na área.Tem um site em que gosto muito e de lá fui em muitos links e já baixei (e baixo) muitas aplicações para ver o que o “pessoal” anda fazendo com java em desktop.Vale dar uma conferida (se vc não conhecer) : www.javadesktop.org

A Paz!!
Paulo Henrique

[quote=“Operador Nabla”]Este tópico veio na hora certa para iluminar as minhas idéias!

De uns tempos para cá, comecei a fuçar os Ícones Mágicos do Kurumin Linux, tentando separar a construção da interface dos scripts de instalação. Tão logo eu me manifestei a respeito, descobri o SGP, implementado no Kalango Linux, que já fez a “modularização” (não sei se este é o termo adequado) que eu imaginei. Então comecei a explorar a interface em si, tentando construir uma alternativa à implementação atual (que usa aplicações externas como o Xdialog) que interaja diretamente com as toolkits. Para não perder a simplicidade de um script, optei pela linguagem Python, com bindings para GTK+ e Qt.

Com o tempo, como eu venho procurando um pretexto para praticar Java (afinal, tudo o que eu precisei fazer em programação, até agora, eu fiz em modo texto, com C e FORTRAN) e depois de uma discussão no fórum do Kurumin, da qual nasceu a idéia de um remaster do Kurumin com um suporte mais “amplo” a Java e/ou voltado para desenvolvimento, veio-me a idéia de construir esta interface (e outros pequenos utilitários) em Java, possivelmente para suprir este hipotético remaster.

Mas eu me perguntava (e ainda me pergunto): Será que vale a pena? Será que Java se presta bem a este papel de construir utilitários para desktop?

PS: ecarmo, agora você tem certeza de que me viu por aqui :wink:.[/quote]

Em 1998 quando eu desenvolvia aplicações com bastante GUI e utilizava AWT porque o SWING acho que nem existia ainda e os applets só suportavam AWT, eu utilizava o Visual Cafe da Symantec, e ele era maravilhoso.

Já faz muito tempo que eu não mexo seriamente com GUI, mas as perguntas que eu tenho são:

:arrow: Quando será que fazer uma aplicação desktop em Java será tão fácil e prazeroso quanto fazer uma aplicação destop em Visual Basic ou Delphi. (ESTOU FALANDO DA PARTE DO GUI !!!)

:arrow: Quando será que teremos IDE robustas, não-pesadas, e boas para desenhar os GUI com SWING eficientemente?

:arrow: Quando será que teremos uma vasta gama de componentes SWING para todo tipo de ocasião?

Como falei, estou meio por fora de aplicações desktop, mas na última vez que programei com SWING constatei o que outros falaram aqui: O desenvolvimento é lento, chato e pouco produtivo. Gasta-se muito tempo brigando com a API para fazer coisas simples. Como Delphi ou VB, deveria haver componentes mais high-level e plug-and-play.

Ficarei feliz se descobrir que estou enganado !!!

A Sun criou vergonha na cara qdo lancou o java.net, e nota-se o esforco dela na area de desktop atualmente, apoiando varios projetos, criando comunidades e tudo mais. A falta de componentes eh diretamente relacionada com a falta de “interesse” que o pessoal tinha / tem por swing… ou seja, ninguem desenvolvia coisas “magnificas” pq o numero de projetos em swing nao era / eh consideravel, se comparado com web, por exemplo, ou mesmo com outras linguagens.

Ta bem longe do ideal ainda, mas evoluindo em um ritmo bem melhor.

Rafael

Depois de clicar aqui e acolá, a IDE do VB ou do Delphi podem criar uma bela tela. Como você fazia para esta tela mostrar dados fora do confinamento de uma rede local?

Quando usava o Visual Studio 6 ele era bem pesado.

Só um exemplo de inutilidade: componentes do tipo que acessam direto a base de dados naquele pattern novecentista cliente/servidor. [/quote]

[]s
Luca

Soh pesado?!.. legal, entao evoluiu algo. Na versao atual eh apenas estupidamente bugado e sem funcionalidades basicas, como refactoring.

Rafael

Nunca usei o Visual Studio. Estou falando do Visual Basic! Há mais de 10 anos atrás, quando fiz alguns programinhas desktop com o Visual Basic, A PARTE DO GUI (daqui a pouco vão dizer que eu gosto mais de Visual Basic do que Java) era muito fácil, produtiva e intuitiva. Tinha componentes para todo o tipo de ocasião, e esses componentes eram bastante fáceis de utilizar como beans.