Porque não usar java no desktop?

E aí galera beleza?

Já desenvolvo em java a 3 anos. Em São Paulo, percebo que as pessoas não gostão de desenvolver em java para desktop, motivo esse, considero o principal fator para que java não seja adotado no desktop.
Alguém já pensou nesse assunto? Porque não temos mais projetos para desktop em java

Obrigado.

Eu ja usei muuuuuuuuuuito.
E nao tive do que reclamar.

Caro Samurai

Bem, não existe nada do que reclamar mesmo em java para Desktop, apenas o detalhe é que para aplicações desktop existem outros tipos de linguagens e ferramentas bem mais produtivas e com mais aceitação de mercado como é o caso do Delphi(Turbo-Pascal) e o Visual Basic, a facilidade e rapidez com que essas ferramentas utilizam para o desenvolvimento desktop é bem maior do que o JAVA para desktop, sem asim o JAVA mais aceito para aplicações complexas, sendo elas principalmente J2EE, e J2ME.

Um Abraço

Concordo com o amigo acima.

Também acho as ferramentas cidatas bem + produtivas.

Mas fazer o que cada um se vira com o que pode. Como estou alocado no setor publico, aqui so querem saber de free =/

Çoncordo com o analyser. O maior problema do uso de java no desktop é com as IDE’s para criação das interfaces.

Cara eu num tenho muito a reclamar de Java para desktop, principalmente de for swing… Há diversas ferramentas como o Matisse, o swingbean etc, para te ajudar com td isso, sem falar que geralmente o tipo de arquitetura padrão em java é diferente do tipo de arquitetura padrão em VB e Delphi, por exemplo, isso tb tem a ver com produtividade, e tb tem a ver com manutenibilidade da aplicação. O “lance” ae primeira coisa é um certo tradicionalismo na criação de aplicações em desktop com ferramentas RAD tradicionais. mais fáceis, menor curva de aprendizado, etc. O Segundo é a grande tendência de tornar aplicativos antes desktop em uma arquitetura baseada em WEB. MAS eu utilizo e muito ainda java para Desktop e não tenho muito do que reclamar.

[]s

Problemas com o Java em aplicações Desktop:

  • É mais difícil desenvolver com o Java que com as outras ferramentas (Delphi, VB)
  • Não gera código nativo, o que pode ser um limitante para quem gostaria de proteger seu código contra “descompilação”;
  • Você normalmente precisa de um runtime gigantesco, comparado com o Delphi ou com o VB (que também precisam de runtimes mas menores).

Vantagens:

  • Se você precisa desenvolver uma aplicação multiplataforma (Linux + Windows) costuma ser melhor usar Java (existia o Kylix, mas você acabava escrevendo código diferente nas duas plataformas…)

acho que isto esta começando a mudar, aos poucos…

eu uso java aqui para desktop, já trabalhei em outro projeto que tb utilizava java no desktop…

fabiocsi,

Ainda bem que na maioria dos setores públicos é tudo “mais devagar” que o convencional. Então não tem problema o java não ser tão produtivo. ehehe!

Brincadeira a parte, apoio em 100% o setor público utilizar software livre, que na maioria dos casos não deixa nada a desejar.

Voltando ao assunto do tópico, claro que não dá para comparar a agilidade que o Delphi te dá na construção de aplicações Dekstop. Mas também acho que o Java já melhorou bastante, no NetBeans por exemplo tem uma interface que ajuda bastante, mas claro que não dá pra comparar.

É a mesma pergunta:

Por que não usar casaco de couro e usar casaco de lã em um dia frio??

A resposta pode ser:

  1. Porque eu só tenho casaco de lã no armário;
  2. Porque casaco de couro é mais caro;
  3. Porque gosto dos animais e odeio churrasco…

Beleza?
Então digamos que o problema real para o desenvolvimento pra desktop é a produtividade no desenvolvimento, ou seja, utilizando uma forma de melhorar o tempo de desenvolvimento, talvês, utilizando ferramentas rad, swing pode ser uma boa alternativa ao sofrimento imposto por páginas cada vez mais complexas?
Porque não vejo nada que impessa tecnicamente uma aplicação usar swing ao invés de página, o problema maior que vejo é que a figura do design praticamente desaparece neste contexto mas, é mais facil de debugar, porque java se integra a ferramentas de desenvolvimento, enquanto com javascript só me resta o browser e, mesmo o firefox não me dá ferramentas tão robustas de debug quando as encontradas em ferramentas como o eclipse. Será mesmo que é menos produtivo que colocar um monte de javascript em páginas?

Não tem pressao né?

hmmmm…

Se vc passa muito do prazdo de entrega do software com seu cliente qual o máximo que pode acontecer com vc? nao receber $$$ seria uma delas?

Quando vc tem delegados e politicos no pé da sua empresa, com informações como Mandado de Prisao, Ocorrências e tal… te garanto que podem acontecer coisas bem piores… :lol:

[quote=fabiocsi]Não tem pressao né?

hmmmm…

Se vc passa muito do prazdo de entrega do software com seu cliente qual o máximo que pode acontecer com vc? nao receber $$$ seria uma delas?

Quando vc tem delegados e politicos no pé da sua empresa, com informações como Mandado de Prisao, Ocorrências e tal… te garanto que podem acontecer coisas bem piores… :lol:[/quote]

Fábio, dependendo do contrato que se tenha feito com a empresa, pode-se ir preso tb, dentre outras consequencias sérias que possam vir a ocorrer.

O que eu quis me referir que no setor público é mais lento, é o seguinte: Precisar desenvolver uma aplicação pro Setor X, e foi levantado que precisaremos de 2 servidores.
A partir daí vai para uma licitação, etc, e em certos orgãos públicos, isso demora mesessss. E com empresas privadas (caso a empresa tenha dinheiro) ela decide e na mesma semana, faz alguns orçamentos e manda comprar. Esse ponto que eu quis ressaltar, que as coisas demoram no setor público. E não que não há pressão.

[color=darkblue]

Acho que o maior problema em aplicações para Desktop em Java não é o fato de não gostar, sim o fato que o Java não se aproveita do ambiente gráfico do próprio sistema operacional, gerando problemas do tipo:

  • Uso de maior processamento
  • Uso de mais memória
  • Não utiliza-se do look and feel do SO
  • Má utilização de Threads em alguns casos provocando travamento

Delphi e VB se tornam mais produtivos pelo fato de utilizarem a interface gráfica do próprio ambiente.

A interface gráfica do Java para Desktop é mais pesada que outras, Delphi e VB são mais customizados.

[/color]

Estudei muito tempo o Java utilizando o Swing. Tive bons resultados, mas todos eles longe do resultado do Delphi.

Quer alguns exemplos? Vamos lá.

  • Crie uma tela para cadastro de clientes, com, digamos, uns 50 campos. Deixe tudo formatadinho, bonitinho do seu jeito. Você não vai utilizar uma framework que coloca seus campos como bem entende, não é verdade? Tente colocar um textfield no meio dos outros campos. Bagunça tudo. Nestes casos, é comum escutar uma voz com palavras de baixo escalão vindo do departamento de desenvolvimento. Já me chamaram a atenção por causa disso, hehehe.
  • Tente fazer uma formatação mais avançada no seu JTable. É pura emoção! O pessoal vai te dizer que os TableModels e cia te dão mais poder, é pura balela. É um saco que precisa ficar sendo reescrito um monte de vezes.
  • Tente limitar um JTextField a aceitar somente N caracteres. Ou somente letras maiúsculas. Onde no Delphi temos a facilidade de definir uma “propriedade” tem que ficar criando objetos no Java perdendo um bom e precioso tempo.

Aliás, propriedade é uma coisa que a Sun deveria copiar do C#. O resultado é o mesmo dos getters e setters só que mais intuitivo.

Tenho algumas programinhas desktop auxiliares em Java, funcionam muito bem. Rodam no Linux (isso é muito legal), Windows, etc. Mas uma aplicação grande no estilo desktop, Java não seria minha primeira opção.

Beleza?
Então, marcio, pelo que voce comentou o que te impede de usar java no desktop é basicamente a produtividade no desenvolvimento como todos reclamão.
Mas e usando com web, será que não tenho a mesma perda de produtividade tenho que resolver problemas emocionais de javascript, me preocupando com códigos crossbrowser, e em terriveis correções de bugs impossiveis de se detectar?
No caso de swing, concordo plenamente que não se tem ferramentas rad que lhe garantem um desenvolvimento agil e bem produtivoe, para se conseguir uma certa produtividade no desenvolvimento tem que se gastar mais tempo pensando em uma arquitetura que facilite o desenvolvimento e, será necessário uma equipe experiente em swing acima de tudo.
Mas isso não é o que acontece com web?

Isso varia de aplicação para aplicação

Trabalho com java ha um bom tempo tanto para desktop quanto para web, e acho os dois uma otima opção. Mas eh claro em desktop eh muito mais trabalho com java do que em outra linguagem, porem ele nao deixa ter suas vantagens !

[quote=marciosantri]Estudei muito tempo o Java utilizando o Swing. Tive bons resultados, mas todos eles longe do resultado do Delphi.

Quer alguns exemplos? Vamos lá.

  • Crie uma tela para cadastro de clientes, com, digamos, uns 50 campos. Deixe tudo formatadinho, bonitinho do seu jeito. Você não vai utilizar uma framework que coloca seus campos como bem entende, não é verdade? Tente colocar um textfield no meio dos outros campos. Bagunça tudo. Nestes casos, é comum escutar uma voz com palavras de baixo escalão vindo do departamento de desenvolvimento. Já me chamaram a atenção por causa disso, hehehe.
  • Tente fazer uma formatação mais avançada no seu JTable. É pura emoção! O pessoal vai te dizer que os TableModels e cia te dão mais poder, é pura balela. É um saco que precisa ficar sendo reescrito um monte de vezes.
  • Tente limitar um JTextField a aceitar somente N caracteres. Ou somente letras maiúsculas. Onde no Delphi temos a facilidade de definir uma “propriedade” tem que ficar criando objetos no Java perdendo um bom e precioso tempo.

Aliás, propriedade é uma coisa que a Sun deveria copiar do C#. O resultado é o mesmo dos getters e setters só que mais intuitivo.

Tenho algumas programinhas desktop auxiliares em Java, funcionam muito bem. Rodam no Linux (isso é muito legal), Windows, etc. Mas uma aplicação grande no estilo desktop, Java não seria minha primeira opção.[/quote]

2 perguntas:

1 copiar propriedades do C#? Vc acha isso mesmo intuitivo???

2-Não é uma pergunta (hehehe) Para desenvolver com Java para Desktops, vc precisa SABER BEM antes. Não é como Delphi ou VB clica e arrasta e blz… Eu particularmente acho menos cansativo, fazer classes que implementam um model qualquer do que alterar 250 botões e campos de formulários um a um alterando propriedades na pallet…

O que eu acho ruim em java é a falta de um editor decente para SWT c JFace, por exemplo… pq os editores para Swing (matisse) são muito bons, ainda mais se vc utilizá-los com alguma estratégia (ou framework) que faça o binding dos componentes.

É uma opinião…rs

Abraço!!!

[quote=Tecnoage][quote=marciosantri]Estudei muito tempo o Java utilizando o Swing. Tive bons resultados, mas todos eles longe do resultado do Delphi.

Quer alguns exemplos? Vamos lá.

  • Crie uma tela para cadastro de clientes, com, digamos, uns 50 campos. Deixe tudo formatadinho, bonitinho do seu jeito. Você não vai utilizar uma framework que coloca seus campos como bem entende, não é verdade? Tente colocar um textfield no meio dos outros campos. Bagunça tudo. Nestes casos, é comum escutar uma voz com palavras de baixo escalão vindo do departamento de desenvolvimento. Já me chamaram a atenção por causa disso, hehehe.
  • Tente fazer uma formatação mais avançada no seu JTable. É pura emoção! O pessoal vai te dizer que os TableModels e cia te dão mais poder, é pura balela. É um saco que precisa ficar sendo reescrito um monte de vezes.
  • Tente limitar um JTextField a aceitar somente N caracteres. Ou somente letras maiúsculas. Onde no Delphi temos a facilidade de definir uma “propriedade” tem que ficar criando objetos no Java perdendo um bom e precioso tempo.

Aliás, propriedade é uma coisa que a Sun deveria copiar do C#. O resultado é o mesmo dos getters e setters só que mais intuitivo.

Tenho algumas programinhas desktop auxiliares em Java, funcionam muito bem. Rodam no Linux (isso é muito legal), Windows, etc. Mas uma aplicação grande no estilo desktop, Java não seria minha primeira opção.[/quote]

2 perguntas:

1 copiar propriedades do C#? Vc acha isso mesmo intuitivo???

2-Não é uma pergunta (hehehe) Para desenvolver com Java para Desktops, vc precisa SABER BEM antes. Não é como Delphi ou VB clica e arrasta e blz… Eu particularmente acho menos cansativo, fazer classes que implementam um model qualquer do que alterar 250 botões e campos de formulários um a um alterando propriedades na pallet…

O que eu acho ruim em java é a falta de um editor decente para SWT c JFace, por exemplo… pq os editores para Swing (matisse) são muito bons, ainda mais se vc utilizá-los com alguma estratégia (ou framework) que faça o binding dos componentes.

É uma opinião…rs

Abraço!!!
[/quote]

Respostas:

  1. Sim, é uma coisa bacana que não vai desmerecer em nada o Java. Pq não facilitar as coisas? Já copiou os enuns mesmo… Vai fundo!!! :smiley:

  2. Tenho asco de programadores Delphi que programam do jeito que vc citou. Aqui na Santri, quando fazemos entrevista para programadores, rejeitamos a maioria por que são assim. Teve até um “professor” de Delphi que não sabia fazer uma conexão com o banco de dados a não ser pelos componentes visuais, coisa que não utilizamos por aqui para estas finalidades. São problemas do mercado.
    A falta de uma IDE superior para o Java é um fato. O Delphi perder o mérito do desenvolvimento desktop por causa de sua agilidade não é.
    Eu digo isto por experiência dos dois lados. Adoro Java, mas temos que reconhecer algumas coisas que a Sun não dá moral e Desktop é uma delas. Outra é o J2ME que para PDAs perde feio para a .Net Compact Framework (se tratando de “Desktop”). Claro, nos dois casos tem a questão da portabilidade, mas acho que não é uma desculpa.

Respeito sua opinião, mas não foi isso que senti na pele. Quando comecei a mexer com Desktop, confesso que até pensava como vc, mas com o tempo, muita pesquisa e algum resultado, vi que não.

[quote=samurai]Beleza?
Então, marcio, pelo que voce comentou o que te impede de usar java no desktop é basicamente a produtividade no desenvolvimento como todos reclamão.
Mas e usando com web, será que não tenho a mesma perda de produtividade tenho que resolver problemas emocionais de javascript, me preocupando com códigos crossbrowser, e em terriveis correções de bugs impossiveis de se detectar?
No caso de swing, concordo plenamente que não se tem ferramentas rad que lhe garantem um desenvolvimento agil e bem produtivoe, para se conseguir uma certa produtividade no desenvolvimento tem que se gastar mais tempo pensando em uma arquitetura que facilite o desenvolvimento e, será necessário uma equipe experiente em swing acima de tudo.
Mas isso não é o que acontece com web?
[/quote]

O que me impede de utilizar exclusivamente Java para desktop é que Delphi é melhor para este quesito. Se vc utiliza alguma tecnologia Java no servidor que será largamente utilizada pela sua aplicação desktop é um caso a se pensar, mas normalmente não é o que ocorre.
Creio que para Web a quantidade de opções é enorme. Mas é aí que Java faz toda a diferença, é onde ele vai além, tem melhor escalabilidade e um monte de recursos sempre atualizadíssimos. Coisa que não temos no Delphi. Sobre a questão “equipe experiente”, creio que de qualquer jeito que vc for programar em Java será necessário.