Porque não usar java no desktop?

93 respostas
S

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.

93 Respostas

F

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

A

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

F

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 =/

O

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

T

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

T

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…)
M

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…

F

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.

R

É 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…
S

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?

F

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:

F

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:

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.

M

[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]

M

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.

S

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?

F

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 !

T

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.

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

M

Tecnoage:
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.

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

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.

M

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?

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.

T

Nossa, vi que vc é de goiás… Aqui em SP, Delphi é praticamente uma coisa inexistente. È muito raro (digo porque trabalhei com Delphi um bom tempo) realizar um projeto em Delphi. em VB ainda existe, pq durante muito tempo, muita coisa foi desenvolvida em VB e é necessário migrar ou manter esses sistemas. Quanto me procuram para desenvolver em Delphi, nunca o salário compensa… é mixaria…

Mas entendo como pode ser por aí, uma vez que me formei no interior e por lá há 200 vezes (exagero) delphi e vb do que .NET e Java…

L

http://swinglabs.org/

R

olha para desenha formularios o netbeans é muito bom, minha opinião, mas se vc quer uma ide igual ao delphi acho meio dificil encontrar um em Java pq o Delphi tem suas particularides.

T

E é por isso que eu não gosto de Delphi rsrs

R

quanto a colocar implementações do C# dentro do Java sou contra uma vez que a SUN esta tornando a sua JVM livre isto poderia implicar em uma serie de processos por patentes. outra coisa enums faz parte de uma especificação e não de uma linguage, enums vem desde do smaltalk passando pelo c com classes, c++ entre outras linguagens e hj e encontrado em quase que 100% das linguagens orientadas a objetos como Java o PHP e Python e sem desmerecer o C#.

S

marciosantri:

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.

Então cara
Eu até entendo que voce consiga uma boa produtividade com o delphi no desktop, porque (com certeza) voce tem muita experiencia com desenvoiviemnto com delphi. Com certeza, um programador experiente em java e swing pode com certeza ter uma grande produtividade, claro que provavelmente não se compare ao delphi mas, se comparando com desemvolvimento para web usando html + ajax provavelmente empate ou até ganhe, pois temos, como disse antes, as vacilidades de se usar ferramentas pra se depurar o código java que, são uma mão na roda. Fora que o programador não precisa se preocupar com scripts e html.
Agora quanto ao dizer que uma tecnologia é melhor que a outra só porque se tem uma ferramente rad avançada é um pouco complicado pois, as 2 tecnologias tem suas vantagens e desvantagens.
Obrigado!

T

Legal… Mas não acredito muito nessa “quebra de patentes” que a microsoft vive ameaçando as empresas… Há algumas coisas que faltam ainda, do tipo closures, por exemplo. um recurso presente em várias linguagens, mas ainda não em java…rs um conceito que tenho gostado de C# é o de partial Class tb… mas não sei até onde é eficiente e eficaz…

R

pelo que me parece este modificador de tipo (partial) e para melhorar a produção fechada de codigo, tipo uma equipe faz uma funcionalidade que outra equipe não pode conhecer as partes internas dela. para mim este modificador é um lixo, espero esta errado.

H

Acho que vou ser lixado depois desse post :frowning:

Wow galerinha, que papo mais esotérico. meu o que rola é o seguinte… Eu por exemplo que vim de outras liguagens tal como DELPHI, VB, .Net, sinceramente ainda não encontrei nenhuma vantagem que me faria por pura e espontanea vontade mudar p/ Java. é pouco produtivo, complicado, cheio de opções, pouco exemplificado, alem de extremamente braçal, independente de ser desktop ou web. aí vem a frase cretina do “write once, run anyware” putz sinceramente, a menos que eu seja uma softhouse fabricando software pra diversos clientes com plataformas heterogeneas isso tambem não me tem muita vantagem.
A única coisa que gostei de estar entrando nesse mundo java é a experiencia. Porque em java ou você é phoda* ou você se phode*. Tem que entender largamente de padroes de projeto, tem que entender largamente das APIs do framework tem que entender de uma porrada de outros frameworks de terceiros pra fazer uma coisinha, sem falar que cada um desses frameworks tem o seu padrão… afff
Enfim… por continuaria com .Net :wink:

agora posso já ser lixado.

mas assim como a maioria de vcs, eu só vou mudar de ideia com o tempo. Quando eu já nem lembrar o que as outras ferrametas me proporcionavam…

[]s
Herbert Pimentel

ps.: espero não ser banido hehhhe…
só tô chateado desculpem…

M

Já trabalhei com Java no desktop e na web e posso dizer que Java no desktop pode ter alta produtividade.

Um dos maiores problemas no uso de Java no desktop é que as pessoas querem fazer a interface na mão e programar tudo no braço, enquanto nos projetos web quem escreve todo o HTML na mão, sem exceção, e faz tudo com servlets e JSP vai ser chamado de louco. Você precisa de ferramentas que facilitem o design, frameworks que simplifiquem a programação da GUI e componentes/frameworks específicos para a necessidade do seu cliente/projeto.

Num projeto desktop enorme que trabalho há 3 anos, usamos Thinlet (que é hiper-ridículo de usar), genesis (um framework que criamos para facilitar o desenvolvimento desktop) e um framework para o projeto. Já desenvolvemos outros projetos com Swing usando Matisse e genesis sem problemas. É tudo uma questão de escolher os frameworks e as ferramentas corretas praquilo que você precisa fazer.

T

Uma coisa medonha que vejo nos programadores Java que vão escrever alguma coisa para desktop é que eles não tentam usar nenhum framework (normalmente por desconhecimento, ou por “macheza” mesmo).
Imagine se em um ambiente Web você vai deixar de usar um framework (mesmo que seja o Struts :stuck_out_tongue: )
O que se vê é gente lutando com o GridBagLayout, que é humanamente impossível de usar (volta e meia tem alguém no fórum perguntando alguma coisa sobre esses layouts e fico desanimado - acho que os professores nunca aprenderam nada prático).
Acho que quase todos os layouts que vêm com o JDK foram inventados para serem impossíveis de usar ou de se criar ferramentas sobre eles. Por exemplo, o NetBeans teve de criar o AbsoluteLayout porque o “null layout” (usar posicionamento absoluto) não funcionava muito bem.

Tardiamente veio o tal do GroupLayout (Matisse), mas mesmo ele não é a solução para todos os problemas.

Em código de verdade é melhor usar o JGoodies Layout, não o GroupLayout.

O que funciona bem mesmo é um arquivo de layout, como os arquivos .RC em programas C do Windows, ou os arquivos de criação de diálogos do Glade - são coisas antiquíssimas, diria do século retrasado, mas que funcionam bem. O equivalente disso seria algo semelhante ao SwingXML (que infelizmente não funciona muito bem porque é baseado em Swing), ou ao Thinlet (que é muito incompleto para o meu gosto; quando vou usá-lo tenho de incluir um monte de componentes proprietários meus).

T

Até que emfim alguém me ajudando a opinar a favor!!! Valew Mr M… huahua… Quem não acha produtivo é porque nunca usou como se deve… Ou nunca teve oportunidade de utilizar assim… Sei como é isso…rsrs

Brincadeiras a parte pessoal é complicado SIM, mas quase sempre tem um “jeito melhor de fazer”…

abraços

T

herbertpimentel:
Acho que vou ser lixado depois desse post :frowning:

Wow galerinha, que papo mais esotérico. meu o que rola é o seguinte… Eu por exemplo que vim de outras liguagens tal como DELPHI, VB, .Net, sinceramente ainda não encontrei nenhuma vantagem que me faria por pura e espontanea vontade mudar p/ Java. é pouco produtivo, complicado, cheio de opções, pouco exemplificado, alem de extremamente braçal, independente de ser desktop ou web. aí vem a frase cretina do “write once, run anyware” putz sinceramente, a menos que eu seja uma softhouse fabricando software pra diversos clientes com plataformas heterogeneas isso tambem não me tem muita vantagem.
A única coisa que gostei de estar entrando nesse mundo java é a experiencia. Porque em java ou você é phoda* ou você se phode*. Tem que entender largamente de padroes de projeto, tem que entender largamente das APIs do framework tem que entender de uma porrada de outros frameworks de terceiros pra fazer uma coisinha, sem falar que cada um desses frameworks tem o seu padrão… afff
Enfim… por continuaria com .Net :wink:

agora posso já ser lixado.

mas assim como a maioria de vcs, eu só vou mudar de ideia com o tempo. Quando eu já nem lembrar o que as outras ferrametas me proporcionavam…

[]s
Herbert Pimentel

ps.: espero não ser banido hehhhe…
só tô chateado desculpem…

Pelo amor de DEUS alguém dá uma luz pra esse rapaz!!! huahuahua…

Tu nunca usou direito porque tu nunca foi obrigado… rsrsrs (Brincadeira)

M

Tecnoage:
Nossa, vi que vc é de goiás… Aqui em SP, Delphi é praticamente uma coisa inexistente. È muito raro (digo porque trabalhei com Delphi um bom tempo) realizar um projeto em Delphi. em VB ainda existe, pq durante muito tempo, muita coisa foi desenvolvida em VB e é necessário migrar ou manter esses sistemas. Quanto me procuram para desenvolver em Delphi, nunca o salário compensa… é mixaria…

Mas entendo como pode ser por aí, uma vez que me formei no interior e por lá há 200 vezes (exagero) delphi e vb do que .NET e Java…

Acho melhor vc se atualizar…

M

Tecnoage:
Até que emfim alguém me ajudando a opinar a favor!!! Valew Mr M… huahua… Quem não acha produtivo é porque nunca usou como se deve… Ou nunca teve oportunidade de utilizar assim… Sei como é isso…rsrs

Brincadeiras a parte pessoal é complicado SIM, mas quase sempre tem um “jeito melhor de fazer”…

abraços

Se vc realmente acha que a atual situação de desenvolvimento desktop no Java é algo produtivo, não sou eu quem vai fazê-lo mudar de idéia. Vai fundo.

M

Sinceramente não defendo linguagem como quem defende um time de futebol. Se é bom, por que não implementar? Se realmente esse negócio de patentes ocorrer, a idéia do JDBC, por exemplo, vai ser processada. Isso certamente não veio do Java… Alguma idéia de onde veio?

T

marciosantri:
Tecnoage:
Nossa, vi que vc é de goiás… Aqui em SP, Delphi é praticamente uma coisa inexistente. È muito raro (digo porque trabalhei com Delphi um bom tempo) realizar um projeto em Delphi. em VB ainda existe, pq durante muito tempo, muita coisa foi desenvolvida em VB e é necessário migrar ou manter esses sistemas. Quanto me procuram para desenvolver em Delphi, nunca o salário compensa… é mixaria…

Mas entendo como pode ser por aí, uma vez que me formei no interior e por lá há 200 vezes (exagero) delphi e vb do que .NET e Java…

Acho melhor vc se atualizar…

Atualizar para Delphi??? para VB??? HAHAHAH Se fosse vb.net td bem ja me atualizei…

Isso tem TANTO mercado que há TANTAS vagas para desenvolvedores Delphi em sites de curriculuns… rsrsrs Se fosse assim não tinha me preocupado em aprender JAVA e .NET…

M

Tecnoage:
marciosantri:
Tecnoage:
Nossa, vi que vc é de goiás… Aqui em SP, Delphi é praticamente uma coisa inexistente. È muito raro (digo porque trabalhei com Delphi um bom tempo) realizar um projeto em Delphi. em VB ainda existe, pq durante muito tempo, muita coisa foi desenvolvida em VB e é necessário migrar ou manter esses sistemas. Quanto me procuram para desenvolver em Delphi, nunca o salário compensa… é mixaria…

Mas entendo como pode ser por aí, uma vez que me formei no interior e por lá há 200 vezes (exagero) delphi e vb do que .NET e Java…

Acho melhor vc se atualizar…

Atualizar para Delphi??? para VB??? HAHAHAH Se fosse vb.net td bem ja me atualizei…

Isso tem TANTO mercado que há TANTAS vagas para desenvolvedores Delphi em sites de curriculuns… rsrsrs Se fosse assim não tinha me preocupado em aprender JAVA e .NET…

Eu me referia a … esquece, deixa pra lá.

T

Como eu disse, o thingol disse, o Mister M disse e muita gente ja disse…
Vc tem que pesquisar melhores alternativas para superar seus déficits de desempenho… Nada é mil maravilhas, mas antes de desenvolver é necessário planejar e utilizar frameworks e ferramentas que auxiliem no processo… Querer fazer código swing, swt, etc na unha é difícil mesmo. Opções melhores em java não faltam… rs

M

Eu acho que apesar JAVA ter seu problema de produtividade , falando em Desktop, como ja disseram antes, tem muitas alternativas a se buscarem para melhorar. Mas mesmo com essas alternativas, eh bem mais facil e rapido fazer um software simples em delphi.

A diferença do java acho que fica na flexibilidade que pode ter um sistema construido em java, em relacao a um em delphi.
Eu prefiro criar codigos mais flexiveis e menos produtivos do que ser produtivo e criar codigos pouco flexiveis. Pq depois numa possivel alteraçao no sistema, se o codigo nao for flexivel a produtividade que teve la atras vai por agua abaixo.
Falo isso porque ja tive que fazer alteraçao em um sistema totalmente mal estruturado sem flexibilidade nenhuma, e isso rendeu uma boa perda de tempo.

Ps.: quando eu citei delphi, eu me referi a versoes anteriores ao delphi.net - desse eu nao conheço nada. Se mudou muita coisa, entao neste caso eu falei um monte de besteira:D

V

A gente desenvolve com Java em Desktop aqui.

Eu acho bastante produtivo, desde que se tenha uma IDE. Usamos o GridBagLayout e essas coisas feias que o pessoal falou por aí. Somos auxiliados nesse sentido pelo VE, não usamos o GridBag na mão.

Mas certamente, não é um mar de rosas. O VE tem seus problemas, e o Swing tem uma curva de aprendizado gigantesca. Agora, acho um ponto positivo o fato de ser muitíssimo fácil de alterar o seu comportamento visual. Aqui temos tabelas que fazem auto-filtro, por exemplo.

Mas, já citando o Thingol, “o swing é mesmo meio esquizofrênico”. Algumas coisas que deveriam ser ridiculamente fáceis (bem citadas pelo Marcio, como definir um número máximo de caracteres ou só aceitar maiúculas) são complicadas de se fazer.

Preferir extender document do que mudar uma simples propriedade? Tá louco? Isso sim é gostar de sofrer…

Agora, a grande vantagem. Temos usuários em Linux e Windows. Em outra de nossas aplicações, usamos diversos protocolos de rede.

Ah sim, um idioma comum em aplicações desktop é praticamente impossível de se implementar automaticamente em java: gravar arquivos no diretório onde o binário da aplicação está. Você simplesmente não consegue obter essa informação no java!!! Não estou falando do diretório “.”. Esse aí, refere-se ao local onde o usuário configurou para abrir o aplicativo, não ao local real do binário.

M

[color=darkblue]Até agora todos citaram como motivo a produtividade, Java para Desktop não é improdutivo, o que leva um usuário a decidir por uma ou outra solução ?

Ninguém até agora levou em consideração as soluções arquiteturais para Java para Desktop, se instalarmos em um cliente é necessário também instalar a JVM, sempre que há uma atualização como proceder ?

Se desenvolververmos uma solução distribuída, colocando em um servidor e “startando” a aplicação através do Java Web Start, dependendo do tamanho da aplicação toda vez que houver uma atualização tem uma lentidão inicial para incialização da aplicação.

A manutenção de sistema para Desktop em Java querendo ou não tem uma maior complexidade que um sistema similar em outras linguagens, em alguns casos levando mais tempo.

Ainda existem problemas no escopo e processo de desenvovimento, qual a melhor solução arquitetural, uma aplicação multi-thread ou mono-thread ?

Tenho pouco tempo de experiência e muito o que aprender ainda, mas já trabalhei com ERP em Swing, quando a aplicação inicia, um processo ou Thread inicia, dentro desse processo, se você abre uma tela para fazer um simples select no banco e não abre um sub-processo a tela simplesmente irá travar enquanto o usuário faz sua consulta.

Uma aplicação distribuída usando EJB rodando em um servidor, se há erros no dsenvolvimento elevando o processamento, quando para interrompe o processo de todos os outros clientes.

Até mesmo uma aplicação pequena em Java para Desktop pode exigir um grande processamento.

O que leva uma empresa a decidir por uma ou outra tecnologia não é somente a produtividade. [/color]

M

Vini,

Você conhece:

getClass().getProtectionDomain().getCodeSource().getLocation()

? Não estou sendo irônico, apenas perguntando se com isso você não consegue resolver seu problema.

M

Distribuí-la (sim, a JVM mesmo) via WebStart.

E com Delphi e VB você pretende atualizar a aplicação como? De qualquer forma, se você versionar os seus jars, o JWS consegue distribuir apenas o diff da sua aplicação. Aqui no cliente usamos essa solução e uma aplicação de 11 MB é atualizada com 100-200k em média.

S

Bom dia.
Acima o Marcio Santri comentou uma coisa interessate a respeito de se defender tecnologias, na verdade minha inteção nunca foi defender uma liguagem ou tecnologia, minha questão é que hoje em dia com o advento do web2.0 utilizando ajax e milhares de linhas de javascript que quando dá pau, nem o firefox tem ferramenteas que me ajudem a resolver.
Pensando neste aspecto cheguei a conclusão que se desktop não for tão produtivo como web, talvês possa ter a mesma produtividade e a facilidade de integração em ferramentas. Então a comparação aqui é java x java. :smiley: .
Agora quanto ao post do metaleiro, vendo por cima o problema citado por ele, eu entendo que os problemas que ele teve foram arquiteturais e não relacionados a tecnologia e, com qualquer tecnologia, se o sistema não for bem arquitetado vai apresentar muitos problemas de performance e manutenção.
Cada vez mais eu vejo que usar java no desktop pode ser uma alternativa viavel em relação ao html+ajax.

M

Distribuí-la (sim, a JVM mesmo) via WebStart.

E com Delphi e VB você pretende atualizar a aplicação como? De qualquer forma, se você versionar os seus jars, o JWS consegue distribuir apenas o diff da sua aplicação. Aqui no cliente usamos essa solução e uma aplicação de 11 MB é atualizada com 100-200k em média.

[color=darkblue]

Sei que a aplicação pode ser distribuída, mas penso pelo seguinte, existem sistemas que eu não vejo porque ser implementado em Java, um exemplo:

Um sistema simples, de caixa, uma padaria ou uma locadora, você pode criar um simples executável em qualquer outra linguagem, para atualizá-lo o próprio usuário pode ir clicando em um setup.

Um sistema em Java, você tem que atualizar os .JAR, tem a instalação da JVM ou JRE, as vezes ocorre algum problema pela diferença com o ambiente de desenvolvimento.

A interface do sistema da padaria é muito boa, mesmo usando uma API em Java não vejo uma interface tão boa quanto a dos sistemas em outras linguagens.

Qualquer sistema para desktop pode também ser implementado em Java, mas eu não consideraria a melhor opção em muitos casos, gosto da linguagem, particularmente se fosse desenvolver qualquer coisa iria pensar em Java, mas um cliente não, talvez não veja vantagens em se utilizar Java.

Sei que existe a possibilidade de se criar executáveis em Java, mas ainda assim não vejo como a melhor opção.
[/color]

M

Metaleiro:
Um sistema simples, de caixa, uma padaria ou uma locadora, você pode criar um simples executável em qualquer outra linguagem, para atualizá-lo o próprio usuário pode ir clicando em um setup.

Um sistema em Java, você tem que atualizar os .JAR, tem a instalação da JVM ou JRE, as vezes ocorre algum problema pela diferença com o ambiente de desenvolvimento.

Existem diversos softwares que geram instaladores para aplicações Java.

Nada impede que se tenha uma boa interface com Java.

Bem, isso é verdade. O fato é que numa situação dessas, a linguagem mais apropriada também é a que você domina mais, se for você que vai fazer o sistema.

Não estou aqui dizendo que o sistema da padaria que vai rodar numa máquina só deva ser feito cegamente em Java, mas eu ainda acredito que se você sabe Java, tem experiência com desenvolvimento desktop e não conhece Delphi/VB, talvez seja muito mais prático e rápido pra você fazer o sistema em Java nessas condições.

M

[color=darkblue]

Devo estar parecendo pessimista quanto a tudo que disse, mas na verdade não é bem isso.

Quando comecei a trabalhar com Java entrei em um projeto de migração de um sistema antigo em Java Swing para Web, o sistema possuia os .JAR em um servidor e era “startado” por .BATs nos clientes, as .BATs também ficavam alocadas no Servidor eram criados atalhos nos clientes.

Todos os .JAR eram importados para os clientes e inicializados localmente, o sistema era multi-thread e foi feito na versão 1.1 do Java, cada vez que se abria uma janela dentro dele iniciava-se um novo processo, tudo o que disse até agora são coisas que os usuário reclamavam:

Java é pesado - Consumo de memória
Java é Lento - Má utilização de threads provocavam lentidão no sistema
Java é feio é quadrado - A interface do Java
Java Trava - Novamente threads e alguns casos conexões não eram fechadas com a base

Foi criado um sistema distribuído, rodava no servidor e os clientes acessavam via WebStart, dessa vez mono-thread, usando EJB, a interface apesar de semelhante era muito superior, a view também foi feita em Swing, apesar de partes dele estavam sendo migradas para Web, mas os usuários ainda reclamavam praticamente das mesmas coisas.

Sei que boas práticas de programação minimizam todos os problemas, podendo até anulá-los, mas sempre existem erros, as vezes também os cometo, estou sempre aprendendo também, acredito que são coisas do gênero que fazem com que Java não seja amplamente apreciado para Desktop.

O projeto de um sistema Java para Desktop tem que ser bem definido e estruturado, mas ainda assim acho que Java é a melhor opção, isso é claro dependendo do caso.

[/color]

S

Beleza metaleiro.

Quanto a reclamações dos usuários mesmo que voce escreva sue sistema utilizando uma linguagem xyz, os usuários sempre vão reclamar dessas coisas: Pesado, lento, feio etc.
Isso é default dos usuários não importa a linguagem que desenvolva.
Agora quanto aos outros problemas observados, pela sua descrição. são arquiteturais e não culpa da linguagem.
Na verdade programas escritos em qualquer linguagem podem ter e terão problemas de arquitetura pois, nada é perfeito.
mas a questão é, se eu tiver com uma unica opção java, será que não é viável criar aplicações com swing do que com ajax?

T

putz, depende muito… mas acho mais fácil isso que o contrário…

M

Via de regra, construa sempre um sistema desktop quando não houver usuários esporádicos.

Ex: pra um Submarino da vida, seria ridículo esperar que o consumidor fizesse download duma aplicação desktop pra fazer os pedidos e visualizar os produtos. Ao mesmo tempo, nada impede o backend inteiro da loja de ser uma aplicação desktop.

M

A Borland desenvolveu a Vcl.net que faz com que o visual e muitos objetos utilizados no Delphi Win32 sejam portáveis para a plataforma .net. Ficou legal mas eu não aconselharia o uso. Ele também pode ser desenvolvido utilizando a estrutura padrão do .net, assim como o Vb.Net e um monte de linguagens suportada por esta arquitetura. No entanto, creio que a linguagem mais indicada para ser utilizada nesta plataforma seja realmente o C#. Em um dos projetos que participei, em alguns casos que exigiam uma performance mais violenta recorríamos ao Delphi.Net por que ele ainda suportava o tipo “record”, que seria um vetor só que de tipos específicos. Achava até muito estranho o .net permitir isto… Criávamos uma classe para processamento (que ficava dentro de uma dll) e só.

T

Permite sim, porque é mapeado para um tipo especial de classe (struct) que no C# requer um monte de metadata. Exemplo:

type Ponto = record
    x : real;
    y : real;
end;

seria mais ou menos, em C#:

using System.Runtime.InteropServices;
[StructLayout (LayoutKind.Sequential, Pack=4)]
public struct Ponto {
    public double x;
    public double y;
}

Aham, faz milhares de anos que não lido com Pascal, não sei se o Real do Pascal é o double ou o float do C#.

V

Não conheço e vou testar! :slight_smile:

M

thingol:

Achava até muito estranho o .net permitir isto…

Permite sim, porque é mapeado para um tipo especial de classe (struct) que no C# requer um monte de metadata. Exemplo:

type Ponto = record
    x : real;
    y : real;
end;

seria mais ou menos, em C#:

using System.Runtime.InteropServices;
[StructLayout (LayoutKind.Sequential, Pack=4)]
public struct Ponto {
    public double x;
    public double y;
}

Aham, faz milhares de anos que não lido com Pascal, não sei se o Real do Pascal é o double ou o float do C#.

Morrendo e aprendendo, hehehe.
Confesso que essa do struct eu não sabia.
Obrigado.

R

pelo o que vejo e que todos queria que existisse somente uma linguage a que eu gosto, sou desenvolvedor de sistemas tem 8 anos ja usei diversas ferramentas, desde boas ides ate editores como o kwrite e o gvim e sempre me adaptei ao que eu precisava fazer.

o que temos aqui é uma medo, o mesmo que os usuários dos nossos sistemas tem quando somos obrigados a mudar uma metodologia de negocio e eles não se adequão, mas a mudança tem que ser feita. o que temos aqui é um usuáio do delphi(ide, pascal linguage) que teve que, ou tentou, desenvolver uma aplicação java(linguagem) desktop e não usou uma IDE com com caracteristicas para este procedimento.

só para ambientar o colega, tente usar o netbeans 5.5.1 ou o eclipse com os plugins corretos e depois fale sobre a produtividade do java, mas antes tente se atualizar quanto a linguagem e metodos de desenvolvimento de projeto, aprender patherns e poo também e uma boa. ah outra coisa vcs estão falando mal do goias e ficou ate engraçado, aqui no tocantins o delphi caiu no desuso a onda aqui é PHP, Java/JSP e .NET mas este ultimo esta bem queimado devido a grande onda de invasão a servidores IIS.

M

rodrigopmatias:
pelo o que vejo e que todos queria que existisse somente uma linguage a que eu gosto, sou desenvolvedor de sistemas tem 8 anos ja usei diversas ferramentas, desde boas ides ate editores como o kwrite e o gvim e sempre me adaptei ao que eu precisava fazer.

o que temos aqui é uma medo, o mesmo que os usuários dos nossos sistemas tem quando somos obrigados a mudar uma metodologia de negocio e eles não se adequão, mas a mudança tem que ser feita. o que temos aqui é um usuáio do delphi(ide, pascal linguage) que teve que, ou tentou, desenvolver uma aplicação java(linguagem) desktop e não usou uma IDE com com caracteristicas para este procedimento.

só para ambientar o colega, tente usar o netbeans 5.5.1 ou o eclipse com os plugins corretos e depois fale sobre a produtividade do java, mas antes tente se atualizar quanto a linguagem e metodos de desenvolvimento de projeto, aprender patherns e poo também e uma boa. ah outra coisa vcs estão falando mal do goias e ficou ate engraçado, aqui no tocantins o delphi caiu no desuso a onda aqui é PHP, Java/JSP e .NET mas este ultimo esta bem queimado devido a grande onda de invasão a servidores IIS.

Não sei se referia à minha pessoa, mas vamos lá.
Medo de trocar de plataforma, linguagem, etc… Programador que é assim fica preso no passado, não é nosso objeto. Isso serve para pessoas bitoladas SÓ em Java. Em 2 anos pretendemos abolir o Delphi por aqui. Daí nosso estudo extendido. Há 4 anos que estamos neste processo, é muito tempo para uma falsa má impressão.
Eu até entendo seu comentário, mas não é a realidade. Uso o NetBeans desde a versão 4.1, e sinceramente, este não é o motivo. Até o Visual Studio é melhor que o NetBeans para desenvolvimento Desktop, por exemplo.
Sobre Goiás, o pessoal de SP deve achar que a região metropolitana de Goiânia (Goiânia e cidades agregadas, com + de 2 milhões de habitantes) usa Clipper até hoje… Uma vez, num cliente em São José do Rio Preto, o cara me perguntou o que eu achava da cidade grande. Com gente assim, é melhor nem discutir. Mas uma coisa é verdade: goiano que programa em Java tem o costume de ir para Brasília. 200Km de distância e um salário bem maior. Passei uma temporada por lá (na verdade, sou de Brasília) e os salários são bem mais animadores.

R

Eu nao tive dificuldade de abandonar o C++ builder para passar usar Netbeans com AbsoluteLayout foi muito tranquiloa a minha transição por isto nao entendo qual a dificuldade.

M

A dificuldade está em se obter resultados tão bons com a mesma produtividade. Nossa telas têm muitas funcionalidades complexas e sofrem muitas alterações e implementações. Não, não são falhas de projeto, é o mercado. Como trabalhamos com muitas empresas, é comum algumas mudarem o processo de trabalho e temos que dar o suporte (e rápido!) para que isso ocorra. Apesar de trabalharmos apenas com um segmento, as requisições são muitas.
O AbsoluteLayout realmente é bem bacana. Mas ainda dá um trabalhinho principalmente de ficar movendo nossos objetos sozinhos quando no ambiente de desenvolvimento. Existem outros fatores que atrapalham a programação desktop no Java. Segurança, no nosso caso, foi um dos fatores que mais pesou. O fato de ser “descompilável” pesou bastante. Apesar dos ofuscadores, é possível localizar algoritmos de senha mensal (usamos isto) e outros dados importantes. Numa aplicação Delphi, isto é bem mais complexo. Já consegui fazer um desvio utilizando o Assembly, utlizando depuradores, mas não descobrir algoritmos de senha, etc.
Sei que cada caso é um caso. Talvez para o seu projeto tenha atendido bem. Mas, dependendo do caso, vários fatores devem ser ponderados.

R

melhore seu programação usar certificados digitais para estes casos resolve o problema, e não importaria o quão bom o cara é para descobrir o algoritimo de cripto se ele não tem a semente, conhecida com chave privada.

o problema e que em muitos lugares ainda se usão artificios antigos e arcaicos. o pessoal do delphi ate hj não conseguiu resolver o problema com os timebomb para usar o delphi e o c++ builder trial pelo resto da vida.

M

rodrigopmatias:
melhore seu programação usar certificados digitais para estes casos resolve o problema, e não importaria o quão bom o cara é para descobrir o algoritimo de cripto se ele não tem a semente, conhecida com chave privada.

o problema e que em muitos lugares ainda se usão artificios antigos e arcaicos. o pessoal do delphi ate hj não conseguiu resolver o problema com os timebomb para usar o delphi e o c++ builder trial pelo resto da vida.

Muito bem. Confesso que estou curioso sobre sua aplicação desktop.

R

(consultoria)

graças a deus eu não preciso fazer programas com sistemas de licenciamento, mas caso eu precisasse usaria algo parecido com o que o pessoal da paradigma que desenvolve o poseidon usa, um esquema de chave privada que fica guardada na sede da empresa e apartir desta são emitidos chaves publicas que tem informações sobre o licenciamento. a chave principal tem 4096 bits solução facil de ser implementada (objetos pontos na J2SDK) e que será muito dificil alguem quebrar em um tempo habil. estimasse que com um supercomputador 3TF para cima conseguiria quebrar esta criptografia em mais ou menos 2 ou 3 anos. se vc injetar dependencia desta chave corretamente em seus sistema vc não terá mais tanto problema com sua chave de licença, mas lembresse quanto mais licenças vc expedir com esta chave mais facil será a quebra.

M

samurai:
Beleza metaleiro.

Quanto a reclamações dos usuários mesmo que voce escreva sue sistema utilizando uma linguagem xyz, os usuários sempre vão reclamar dessas coisas: Pesado, lento, feio etc.
Isso é default dos usuários não importa a linguagem que desenvolva.
Agora quanto aos outros problemas observados, pela sua descrição. são arquiteturais e não culpa da linguagem.
Na verdade programas escritos em qualquer linguagem podem ter e terão problemas de arquitetura pois, nada é perfeito.
mas a questão é, se eu tiver com uma unica opção java, será que não é viável criar aplicações com swing do que com ajax?

[color=darkblue]Bem, não sei se tenho o cacife necessário para responder sua questão, mas cada caso é passível de análise, Java tem inúmeras vantagens, as quais acredito nem serem necessária citar.

Vi casos da necessidade de programas Desktop em Java, necessidade de portabilidade, o sistema ( Swing ) tinha a necessidade de rodar tanto no Linux quanto no Windows, além de uma série de outras coisas que não vejo possibilidade em outra linguagem, pode ser que existam, mas as vantagens do Java são inúmeras, todos já devem estar cansados de saber.

Sei que as características não se limitam apenas ao Java, mas o que me levou a buscar o Java é o fato que disperta meu interesse e sempre busco aprender mais a respeito, particularmente me sinto bem, não importa se Swing ou Web, gosto de programar em Java.

Agora o principal motivo que limita a escolha de um aplicativo Desktop em Java, é o fato da mairia dos casos os próprios desenvolvedores não apreciarem, por motivos inúmeros, alguns citados aqui que vão desde propriamente a maneira de se programar, falta de IDE´s para tais fins.

Já trabalhei em equipes que a grande maioria não se sentia feliz, todos eram excelentes profissionais, mas quando não nos sentimos felizes com o que fazemos criamos uma atmosfera negativa, fica difícil até mesmo passar a credibilidade necessária ao usuário[/color]

T

[quote=Metaleiro]

samurai:
Beleza metaleiro.

Já trabalhei em equipes que a grande maioria não se sentia feliz, todos eram excelentes profissionais, mas quando não nos sentimos felizes com o que fazemos criamos uma atmosfera negativa, fica difícil até mesmo passar a credibilidade necessária ao usuário[/color]

Entãocara, também penso assim viu?

M

[quote=Tecnoage]

Metaleiro:
samurai:
Beleza metaleiro.

Já trabalhei em equipes que a grande maioria não se sentia feliz, todos eram excelentes profissionais, mas quando não nos sentimos felizes com o que fazemos criamos uma atmosfera negativa, fica difícil até mesmo passar a credibilidade necessária ao usuário[/color]

Então cara, também penso assim viu?

[color=darkblue]Existem vários tipos de motivação, não apenas gostar do que está fazendo no momento, mas Java para desktop é raro quem goste de trabalhar, o pessoal prefere Web[/color]

L

O que ficou meio impregnado no mundo Java atual é que programadores avançados (bons) só desenvolvem Java EE (com view em browser), e os novatos, sem experiência desenvolvem em Swing.
Se pegarem mensagens de muitos “gurus” aqui, vão ver bem isso, e ainda entra aquele papo de estamos no ano 300, swing é coisa de mulherzinha e tal, talvez por essas coisas que a Sun deixe tão de lado coisas como suporte a hardware, impressoras e etc, video, audio, agora que está aparecendo alguma coisa pra mudar, mas acredito que motivado mais pelo suporte a TVs digitais e essas coisas que terão suporte a Java.

Uma pena, talvez quando Java virar o novo Cobol, possa-se desenvolver em swing sem ser ridicularizado pela comunidade.

T

Luiz Aguiar:
O que ficou meio impregnado no mundo Java atual é que programadores avançados (bons) só desenvolvem Java EE (com view em browser), e os novatos, sem experiência desenvolvem em Swing.
Se pegarem mensagens de muitos “gurus” aqui, vão ver bem isso, e ainda entra aquele papo de estamos no ano 300, swing é coisa de mulherzinha e tal, talvez por essas coisas que a Sun deixe tão de lado coisas como suporte a hardware, impressoras e etc, video, audio, agora que está aparecendo alguma coisa pra mudar, mas acredito que motivado mais pelo suporte a TVs digitais e essas coisas que terão suporte a Java.

Uma pena, talvez quando Java virar o novo Cobol, possa-se desenvolver em swing sem ser ridicularizado pela comunidade.

Condordo plenamente. Eu particularmente acho muito mais simples desenvolver para WEB, dependendo do projetos rsrs

A

Uma comparação: “todos os carros sonham em ser iguais a uma ferrari, mas infelizmente não dá, existem muitos porsches da vida, e até mesmo os populares que quebram um galhão, e servem pra muita, mas MUUUUUIIIITAAAAAAAA coisa mesmo. Por exemplo aqui em minha cidade, só existe uma ferrari e ela não circula muito, pq 90% das ruas da cidade impossibilitam se trafegar com uma ferrari… Todos queriam ter uma ferrari na garagem, mas não é qualquer um que consegue dirigir uma, pra se dirigir uma ferrari tem que saber, não é um carro qualquer, é complexo… Por isso hoje pra se ter uma ferrari, vc precisa saber dirigí-la (não é sabendo GUIAR qualquer outro carrinho) e as condições para poder usá-la tem que ser favoráveis, ou então realmente não adianta ter uma ferrari, compre um Fiat Palio…”

Resumindo minha história e abrindo espaço para interpretações: “A Plataforma (não linguagem) Java é uma Ferrari”

Abraços :wink:

J

Já tinha uma opinião formada sobre o assunto. Li a opinião de todos concordo em alguns pontos e outros não. Vamos lá…
A princípio, não pretendo desenvolver em DeskTop para Java. Meus objetivos com Java são Web, Mobiles e WireLess. A vantagem a mais de Java em relação ao Delphi, é somente uma: Independência de Plataforma. Tudo em termos de OO que tem no Java, tem no Delphi. Estudando Java, percebi algumas coisas, que nas demais linguagens parece ser uma cortina de fumaça. Java dá ao desenvolvedor um extremo poder de conhecimento, e isto, é muito válido. Interessante é que estudando Java a fundo, compreendi melhor até os bastidores do Delphi. Agora, vamos a OO… se em VB ou Delphi, o desenvolvedor não usa classes, não tem uma arquitetura definida, mistura informações de tela e negócio, etc… Isto não é OO. OO também não é “criei meu componente… já uso orientação a objetos”… Não é OO. Se você usa um componente DbAlgumaCoisa, você está quebrando a OO. Não vou me preocupar com deskTop no Java pois, não quero reconstruir a roda… quero apenas, plugá-la no carro. Já falando em Web, as coisas mudam de figura. Sou mais Java. :smiley:

C

acredito q quem dá esse tipo de opnião e ridiculariza java desktop é porque nao tem conhecimento do poder do java nesta area …

é a mesma coisa q vc pegar um programador delphi e pedir o que ele acha melhor , é claro q ele vai dizer delphi pq é mais rápido só gera um executável , tá ali prontinho e é só rodar e bla bla bla
apenas pq ???

pq nunca mexeu com java

A

Dei manutenção em um sistema swing bem grande, com mais de 100 mil linhas de código, para a área de aviação, por quase um ano e vi o inferno ali. Inner classes à rodo, listenners, formatters e o diabo à quatro. Tudo misturado com regra de negócio (eu só dei manutenção, e quando tive chance de desenvolver algo ali fui obrigado a seguir o mesmo caminho). Esse projeto foi inicialmente escrito pra rodar embaixo de java 1.3. Peguei, infelizmente, a transição pra 1.4 - e imagine só vc o quê aconteceu: uma penca de tela parou de funcionar, muito evento parou de rolar, foi o caos. Ainda bem que não me especializei em swing (nunca gostei da camada de apresentação, ela é muito exibida).

Pra mim foi o suficiente.

A

caxxias:
acredito q quem dá esse tipo de opnião e ridiculariza java desktop é porque nao tem conhecimento do poder do java nesta area …
Eu não ridicularizo mas eu acho que tem coisa melhor. Eu pessoalmente acho que se vc tem que matar 7 dragões por dia pra poder usar o básico de uma tecnologia é porquê essa tecnologia não é fácil certo? Se ela for fácil e ainda assim não for produtiva não me adianta (falando em sistemas grandes).

D

Salvo o Mister M,

alguém tem acompanhado a evolução do Swing e as apresentações no JavaOne?

http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=2&yr=2007

Aplicações como o Aerith (https://aerith.dev.java.net/) já eram realidades antes do Vista, e com o Swing que aqui foi muito bem malhado já era possível usar recursos de 3d e 2d que o .NET ainda irá trazer, muito provavelmente com a esperada “compatibilização” de recursos do Vista.

Eu gostava muito do Delphi, trabalhei com ele durante uns 6 ou 7 anos (da versão 2 até a 6), mas nos últimos 5 anos o Java tem me servido muito bem.

Com relação aos Layouts… eu ainda prefixo o do jgoodies, mas o do mantisse é legal também.

fw

R

Concordo. Usei Swing durante um bom tempo, sou membro de um projeto open-source que utiliza Swing para coisas complexas como tabelas OLAP e minha constatação é que Swing é uma tecnologia extremamente poderosa, estável e bem construída. Porém, tudo é extremamente difícil de se fazer. Swing precisa urgentemente de um framework para facilitar uma série de coisas que em outras tecnologias são feitas de modo simples e direto. Não conheço o Genesis, talvez ele seja exatamente o framework de que o Swing precisa. Já mexi um pouco com o JGoodies e o achei um tanto quadrado. Seria interessante que o JCP se dignasse a criar uma especificação para facilitar o uso do Swing.

G

.

G

Importante esse tópico:

Mas independente de ser pagou o não, alguém ja usou o JBuilder? é melhor para aplicações Desktop, que o NetBeans ou Eclipse?

Eu uso o Eclipse com Designer SWT/GWT/Swing
É bom, mas muito lento, e dependendo quando eu altero componentes, como por exemplo o jTable, ele da pau.
Achei muito pouco produtivo para aplicações Desktop, sendo que eu vim do Delphi e foi uma diferença muito grande.

Achei o Java muito melhor, O único problema e na construção de telas para desktop

Alguém tem algo a dizer?

R

Porque não usar java no desktop?

Existem muitos sistemas que precisam usar java no desktop, se vocês olharem nas ruas já tem alguns por ai, trabalho numa empresa que presta serviço pros correios, o correios usa java em desktop sim, em mais de um sistema, que tal irem à uma agência dos correios e se a mesma for uma agência própria que não seja franqueada a possibilidade de você vir um sistema com interface swing sendo utilizado para te atender é de 100%, até porque como alguns aqui já disseram, nesse caso se necessita de interface com periféricos balança, impressoras, leitoras de código de barras e etiquetas, pinpad(leitora de cartão com teclado) entre outros.

Pra vocês terem ideia esse sistema roda em mais de 5000 agências, e deve ter algo em torno de 20.000 terminais acessando.

L

Oi,

Trabalho com java desktop a um bom e longo tempo.

1º AMO JAVA

2º Olhei muitas pessoas falando do trabalho para fazer uma aplicação em java, que no TAL delphi é só clicar com o mouse e mudar as propriedas (poxa! legal!), mãs… na minha opinião, quando a coisa é muito facil perde a graça. Quem gosta de coisas faceis hj em dia?! lol

3º Nunca tive problemas com java desktop… aaa e vou continuar com ele!

4º é isso! Ame Java e tudo será mais facil

Tchauzin!

K

Nao perde a graca nao, ganha-se em produtividade.

Quem gosta das coisas dificeis hoje em dia?
Usamos Annotations para substituir configuracoes em XML na maioria das vezes. Usamos frameworks que proporcionam componentes e binding de dados. Hibernate pela portabilidade de mudar entre varios bancos de dados e escrever um SQL orientado a objetos.

Tambem temos aqueles que nao tiveram problemas com java pra web.

Xiita. :stuck_out_tongue:

L

Nao perde a graca nao, ganha-se em produtividade.

Do que adianta ter produtividade, se na maioria das vezes com as “facilidades” não se aprende muita coisa… claro que existe a questão de prazo no meio… mãs isso pode ser debatido em uma outra ocasião…

Tambem temos aqueles que nao tiveram problemas com java pra web.

Claro, o site do correio é um deles! (Brincadeira)… nem sempre ocrrem problemas x)

Xiita

lol

K

Nao se aprende muita coisa se nao quiser. Normalmente os projetos de frameworks sao OpenSource, quer aprender como se faz “aquele efeito bacana”, basta olhar o fonte. :wink:
Prazo comanda, nao sei o local que voce trabalha mas aqui trabalhamos com metas semanais, entao reinventar a roda nao rola mesmo… :wink:

Ja foi discutido aqui que uma das grandes qualidades dos desenvolvedores é ser “preguiçoso” ou seja procurar no “google” se alguem ja criou uma biblioteca ou um framework para fazer aquilo que voce precisa, tentar nao reinventar a roda e sim modelar ela a suas necessidades… :wink:

O site dos correios é feito em ColdFusion (.cfm) , tenta outro… :stuck_out_tongue:

G

giovani_sc:
Importante esse tópico:

Mas independente de ser pagou o não, alguém ja usou o JBuilder? é melhor para aplicações Desktop, que o NetBeans ou Eclipse?

Eu uso o Eclipse com Designer SWT/GWT/Swing
É bom, mas muito lento, e dependendo quando eu altero componentes, como por exemplo o jTable, ele da pau.
Achei muito pouco produtivo para aplicações Desktop, sendo que eu vim do Delphi e foi uma diferença muito grande.

Achei o Java muito melhor, O único problema e na construção de telas para desktop

Alguém tem algo a dizer?

JBuilder cria código proprietário, e como os anos 90 já eram, está fora de cogitação.
Telas em swing => Netbeans. Livre, padrão (jdk6 ou swing-layout em vms antigas) e eficiente. Pode continuar usando o editor do eclipse, se achar necessário.

K

A pouco tempo usei um plugin para o eclipse chamado JIGLOO (Free for non-comercial use.)
Ele deu conta do recado muito bem.

Boa sorte! :thumbup:

G

Bom, trabalhei um período em um projeto de Java Desktop.

Era um projeto muito grande, mais de 50 telas, algumas bem simples (CRUD) e outras com maior complexiade (N JPanels com componentes criados de forma dinâmica para simular tabelas).

Incrivelmente esse era um dos projetos mais bonitos de se ver (em termos de código), e deixava muito projeto web no chão em termos de organização.

Não foi atoa que o povo tava tão acostumado que tinhamos ferramentas para os diversos problemas, e a mudança para a web foi um choque na turma, era tudo mais complicado mais abstrado e mais difícil de trabalhar (como na verdade é).

Eu vim para esse projeto para ajudar o povo que não tinha visto nada de web, e como eu sabia alguma coisa de swing, então eu fui alocado para lá.

Java desktop pode sim ser muito produtivo, basta ter organização e metodologias para isso.

I

Pessoal, boa tarde a todos. Meu nome é Paulo sou graduando em Bacharelado em Informática no ICMC/USP e estudo/trabalho a 10 anos, 8 deles dedicados a Delphi. Sou gerente de desenvolvimento da empresa onde trabalho.

Necessário dizer que não considero programador delphi aquele que liga DBGrid na DataSource e acha que está lindo o software. (Essa é a visão que muitos “amadores” tem do Delphi)… e embora ele permita isso, para sistemas complexos simplemente não serve.

Tenho algumas aplicações desktop que pensei em traduzir para Java pela portabilidade, mas não obtive sucesso pelos motivos que eu vou expor.

1.) Desempenho: Meu mercado muitas vezes tem computadores de baixo desempenho. Swing fica com “lag” para digitar numa simples JTextField.

2.) Padrões de GUI e Leiautes. Eu preciso de uma combinação de produtividade, as vezes obtidas com herança ou repositórios, mas sem me amarrar as restrições impostas pelos frameworks de GUI (o que vi do Matisse me lembra o form wizard que é algo que detesto no delphi)…

3.) No delphi eu tenho algumas coisas que talvez por falta de conhecimento, não consigo reproduzir com a mesma produtividade em Java.

Ex’s: Eu quero colocar um botão bem no meio de um form de 200 x 200 e ligar as 4 ancoras… quando eu rodo a aplicação ele está lá no meio do form 200x200. Quando eu redimensiono o form pelo canto inferior direito o botão acompanha o resize, se mantendo no centro com as dimensões alteradas.

Esse é um exemplo tosco, mas tem muita coisa que eu faço usando apenas as ancoras, align’s e constraints de tamanho.

O java me atende em tudo, menos nesse quesito. Se eu uso um framework eu acabo amarrado pelas regras do framework, se eu quero liberdade eu perco MUITA produtividade para o design das minhas GUI’s…

O que eu espero para adotar Java de vez? (Realmente desejo, pq exceto pelas GUI’s tenho muitas vantagens com o Java). Eu quero uma IDE que eu possa colocar um JLabel encavalado em cima do outro… que eu coloque ancoras e que os objetos se alinhem apenas setando alguns atributos pela IDE, sem que eu precise ficar escrevendo código para isso, preferindo gastar meu tempo na codificação das regras de negócio e funcionalidades do meu sistema :slight_smile:

Isso eu consigo fazer com delphi + OO + UML + Model Maker. Só me falta a multiplataforma que o Java me daria :slight_smile:

Se alguem tiver uma dica de onde obter o que preciso eu agradeço muito, e fica aqui minhas opiniões sobre o que eu sinto falta no desktop Java.

[]'s

G

Boa Noite pessoal!

Porque não usar java no desktop?
Não vejo motivo pra não usar, dependendo claro, da necessidade (num vamo forçar a barra né!).
O Java me dá a possibilidade de trabalhar no desktop mas a MINHA produtividade em Delphi é incomparável, mesmo já estando algum tempo sem trabalhar com Delphi, sei que faço em minutos o que dura horas no Java com NetBeans.
Algumas coisas tem melhorado bastante mas exemplos como do nosso amigo IkkiSamurai e do meu amigo Marcio Santri são importantes, e ainda poderia citar outros probleminhas que tenho na criação das minhas telas.

Creio que o mais importante nesse momento não seria discutir se usar ou não java no desktop, eu, por exemplo, nesse momento preciso desenvolver pra desktop, e sei que é o caso de várias outras pessoas (NECESSIDADE), então creio que seria muito mais produtivo discutir as soluções dos problemas que temos desenvolvendo pra desktop do brigar entre Usar Desktop ou Web.

Se tivermos a necessidade usar Web vamos usar, e daí pra frente discutir o que pode ser bom pra contribuir
com a produtividade.

I

então creio que seria muito mais produtivo discutir as soluções dos problemas que temos desenvolvendo pra desktop do brigar entre Usar Desktop ou Web.

Isso aí amigos, até pq existem cenários específicos onde um é vantajoso em relação ao outro. Para os mais novos que não tiveram tanto contato com o desktop… algumas GUI’s mais sofisticadas, com diversos drags and drops em “grades” não triviais ou processamentos de pesadas threads de calculo “client side” justificam a existencia de aplicações desktop.

Nem considerei LAF, desde que eu consiga colocar imagens e sobrepor os componentes em cima e trabalhar com o que chamamos no delphi de owner draw.

G

Já que mudamos o foco da discussão
então vai um dos meus problemas.

Até hoje não consegui herdar frames com alguns componentes
na tela como faço tão bem no Delphi, alguém tem alguma sugestão,
e que não seja aquela mostrada no FAQ do NetBeans
http://wiki.netbeans.info/wiki/view/FaqFormExtendingForms
Isso eh horrível.

L

Olá

lina:

2º Olhei muitas pessoas falando do trabalho para fazer uma aplicação em java, que no TAL delphi é só clicar com o mouse e mudar as propriedas (poxa! legal!), mãs… na minha opinião, quando a coisa é muito facil perde a graça. Quem gosta de coisas faceis hj em dia?! lol

Você por acaso faz as telas de swing tudo por código?

Porque se seguir esse teu pensamento, você não usa Hibernate/JPA, ANT e Netbeans certo?

Java pra desktop é bom mas é trabalhoso d+

Pra mim aplicações decentes em Java pra desktop é com SWT e pronto. Acho swing feio e lento, mas é produtivo. SWT não é produtivo, mas faz uma interface muito bonita e essa sim, é realmente portável e multi-plataforma (olha o pleonasmo!). Sem sombra de dúvidas, se fosse pra fazer algo pra windows seria C# e pronto, pra mim claro :slight_smile: Já fiz coisas bem bonitas e legais com SWT, mas infelizmente é um pouco complicado e dá dor de cabeça :frowning: Sò de pensar naqueles contrutores que você passa mil parâmetros INT com operador OR chega a dar uma tontura :frowning:

P

Java só não é mais usado para desktop pq qq pessoa pode criar uma aplicação em VB.

É claro que são aplicações VB cujo custo de manutenção é horripilante…

I

Hehe, se o programador (sic!) e o projeto forem ruim até em java a manutenção é horripilante.

Pensando em OO, se a equipe de projeto e desenvolvimento aplica bons patterns, utiliza frameworks maduros e adequados ao projeto, seja Delphi, Java ou .NOT… a manutenção e extensão da aplicação não serão problemas. Eu sei que “meu concorrente” oferece a um custo mais baixo um software “podrão” e meu diferencial é na qualidade…

Bom, no cerne do assunto, porque eu não uso java no desktop? Porque ele tem limitações para algumas GUI’s não triviais que só podem ser conseguidas a custo de muito tempo de trabalho (se puderem)… e meu mercado não espera :wink:

Comentando o que a lina citou, não é questão de ser fácil e de não haver desafios… é simplesmente pq não deveria ser dificil fazer coisas triviais… minha ultima aplicação é um conjunto de acessórios para um ERP que rodam como serviço. São algumas threads que controlam backup, exportação de informações, atualização controlada do sistema, serviço de envio de correspondencia eletronica. Tudo isso em background sem consumir muitos recursos da maquina.

Se isso é bastante trabalhoso porque não posso ter mamão com açucar pelo menos para fazer a telinha de diversas abas que contem N configurações? (embora até que neste caso até é mamão com açucar fazer com swing tb… mas é este tipo de dor de cabeça que enfrento no desktop java).

PS: Mas bem que eu gostaria de usar :smiley:

[]'s

L

Faz tempo que não pego um projeto desktop…

H

Desculpe-me ressuscitar esse post, mas o que usar para desktop com java hoje em dia? JavaFx, Swinge outro?

L

Eu uso java para desktop…meus clientes nunca reclamaram… não é lento como corre a lenda… uso o swing…e hibernate… também construí uma base para criação de telas… para utilizar nos meus sistemas…uma espécie de miniframework visual

Criado 26 de junho de 2007
Ultima resposta 21 de dez. de 2011
Respostas 93
Participantes 37