BD para java, aplicação Desktop

Olá a todos.

Estou pensando em recomeçar um projeto que iniciei de uma aplicação comercial básica em VB no java, porém não tenho experiencia nessa linguagem.

Tenho algumas dúvidas:

1 - Java é leve para aplicaçoes desktop em ambiente gráfico?
2 - MySQL é o melhor banco de dados (mais amigável) para usar com java?

Desde já agradeço aos colegas.

Obviamente o que estou escrevendo é uma opniao pessoal. Java não é muito leve em ambiente gráfico, mas isto depende muito do que a sua aplicação vai fazer…

Se for algo como um gerenciador de downloads ou uma agenda não tem problema nenhum, mas se for algo como um servidor talvez Java nao seja a linguagem + indicada.

Java possui driver para a maioria dos bancos de dados + populares, a escolha do banco de dados depende o que voce espera dele.

Obs: vc vai encontrar muito material na web de como usar um MySQL + Java

Olá

Acho desnecessário usar Java para aplicações isoladas que acessam banco de dados diretamente como a gente fazia com Delphi ou VB no milênio passado.

Acho que é muito raro um exemplo de uma aplicação atual que sirva para alguma coisa que funcione assim. O que você vai desenvolver é um tocador de MP3?

[]s
Luca

Olá

O Programa que quero fazer é um controle financeiro pra rodar num desktop, coisa simples.

Contas a Pagar
Contas a Receber
Estoques
Fluxo de Caixa

etc…

Alguem poderia disponibilizar um tutorial de configuraçao do Mysql? Pesquisei no google e nao achei um atual da versao 5.0

Olá

O que vou dizer para você hoje, todo mundo sabe aqui no GUJ que falo isto há muitos anos. Na verdade depois que descobri que existem servlets, nunca mais vi serventia em programas isolados como a porcaria do Office que não me permite escrever uma apresentação de Power Point em equipe com gente em outra cidade.

Pergunto: para que alguém precisaria de um contas a pagar ou contas a receber que não pudesse consultar de qualquer lugar do mundo onde estivesse?

Acho que nenhum comerciante compraria um sistema de fluxo de caixa que ele não pudesse consultar enquanto estivesse de férias em Jericoacoara.

E controle de estoque de filiais precisaria daquelas gambiarras da década de 80?

Será que teria que fazer como a gente fazia no milênio passado que era ser obrigado a usar estes programas na rede local?

A vantagem do Java é justamente a facilidade de fazer programas sem estas limitações.

Escreva um sistema em que o banco de dados pode estar em qualquer parte do mundo e que a interface do usuário possa ser usada em qualquer lugar.

Para a camada do cliente você pode usar Swing ou html. Para se comunicar com um servidor você pode usar um servlet engine. As mensagens do cliente para o servidor podem ser feitas usando XStream, XML-RPC, SOAP, CSV, etc. Dê asas a sua imaginação pois o Java permite.

No final você terá um sistema que pode eventualmente rodar com tudo na mesma máquina ou na Internet.

[]s
Luca

Como não?
http://www.microsoft.com/office/powerpoint/prodinfo/overview.mspx#EPB

Olá

[quote=Daniel]Como não?
http://www.microsoft.com/office/powerpoint/prodinfo/overview.mspx#EPB
[/quote]

Bem, não é esta a versão que uso e nem é este o Windows que uso. Seu exemplo foi perfeito para mostrar como a arquitetura antiga de sistemas é limitada em comparação com outras alternativas. E são as facilidades do Java em escrever programas livres destas limitações que me encantam.

Se o Power Point tivesse suporte a CVS ou a subversion seria muito mais prático do que depender da existência de um windows server 2003. Mas se um dia o Power Point suportar SCM não será usando uma solução que rode em qualquer plataforma.

[]s
Luca

Bem. eu gostei muito do PostgreSQL, quanto ao java… sai…de mais de 10 de Delphi e estou indo para JAVA… vou comecar uym sistema para Desktop… mais concordo o servl… é melhor

O meu problema é o tempo, no ambiente desktop eu poderei arrastar e colar com o Netbeans e implementar a lógica, fora que a aplicação é para rodar em um computador único, não é pra venda, eh uma gentileza e solução bem simples.

Fora que sou iniciante e nao estudei e nao tenho tempo pra estudar JSP & Servlets no momento.

Olá

Se é para fazer uma aplicação do jeito antigo do VB, então nada melhor do que VB (ou Delphi).

[]s
Luca

Luca, não entendi direito seu comentário. Digo… entendi, mas discordo em alguns pontos.

Certo, mas usar um banco de dados para armazenamento interno não é uma má prática sempre. Veja, por exemplo, o firefox, que faz uso do sqlite. Muito melhor do que usar os velhos arquivos .DAT do pascal, não é? :wink:

Concordo, sim, com todas as palavras sobre as ‘aplicações isoladas’. Mas não é por isso que bancos de dados locais deveriam deixar de serem usados em aplicações standalone. Cada caso é um caso. (Ohhhh! :D)

[quote=Luca]

Se é para fazer uma aplicação do jeito antigo do VB, então nada melhor do que VB (ou Delphi).[/quote]

Nao concordo, Luca. Muitas vezes precisamos apenas de uma aplicacao desktop que vah rodar localmente, com um usuario e, com o tempo, essa aplicacao pode ateh evoluir para um ambiente multi-usuario e distribuido. Entre usar VB e depois ter de refatorar 100% do software e usar Java, eu sei o que faria :slight_smile:

Alem disso, usar uma linguagem realmente orientada a objetos permite um design mais limpo e facil de dar manutencao (aqui Delphi tambem eh superior ao VB “classico”).

Uma alternativa interessante seria usar uma arquitetura baseada em aspectos que permitisse esse tipo de evolucao sem que o codigo de negocios e do ‘core’ precisasse ser reescrito. O suporte a remotabilidade transparente do genesis, por exemplo, permite exatamente este tipo de evolucao. Inclusive o sample roda em modo local e remoto para demonstrar isso.

[quote=cgomesnet]Olá a todos.

Estou pensando em recomeçar um projeto que iniciei de uma aplicação comercial básica em VB no java, porém não tenho experiencia nessa linguagem.

Tenho algumas dúvidas:

1 - Java é leve para aplicaçoes desktop em ambiente gráfico?
2 - MySQL é o melhor banco de dados (mais amigável) para usar com java?

Desde já agradeço aos colegas.[/quote]

1 - Depende; se for usar Thinlet não é pesado.
2 - Use o Derby ou o H2 (ou o HSQLDB). Não use o tal do “bando de dados” que é o Access. (Se não me engano, dá para instalar o driver ODBC para DB2/Derby e usar o Access para gerenciar as tabelas, mas isso não é o mais adequado. Use um outro gerenciador de tabelas para fazer o design delas.)