quais os principais cuidaddos que devem ser tomados, no desenvolvimento de um aplicativo desktop que ira rodar em mais de uma maquina ?
-
Cuidado com caches locais. São muito mais tranquilos de se fazer, e podem fazer usuários enxergar registros desatualizados;
-
Muito cuidado com feedback ao usuário. Usuários estão dispostos a esperar no caso da internet, mas não são nem um pouco afim de esperar no caso do desktop, a menos que saibam que o aplicativo não “travou”;
-
Manter conexões abertas com o banco de dados pode ser muito caro. Procure sempre fecha-las quando não estiverem sendo usadas (quando o usuário for tomar um café, ou deixar a máquina ligada com a aplicação aberta, por exemplo). Aqui usamos a dobradinha Spring + Jakarta Commons DBCP para contornar facilmente esse problema;
Por hora, são os que me lembro. Isso para aplicações comerciais. Se sua aplicação é um messenger ou algo parecido, aí serão os bons e velhos cuidados de aplicações sockets.
Não deixe de dar respostas rápidas nas mudanças de tela. Se a mudança for muito lenta, pode ser, por exemplo, que a quantidade de dados é alta.
Uma boa alternativa é carregar a tela na thread do sistema e criar outra thread para carregar os dados na tela. Assim não dá a impressão de que a aplicação travou.
Esse é só um motivo de demora num carregamento de tela, pode haver outros. Fica ai a dica.
Um fator importante a se considerar é se deve ser usado um servidor de aplicações ou se cada cliente será independente. Outra coisa a ter em mente é como distribuir/atualizar o aplicativo.
Se for usar Java 6.0 use o recurso de “splash” para evitar que o usuário fique clicando no atalho que o inicia, porque achou que o programa não carregou, e acabe criando N cópias do mesmo programa.
Eu digo isso porque eu estou tendo de fazer a mesma coisa só que em uma versão mais antiga do Java; felizmente posso substituir o javaw.exe.
java -splash:nome_do_arquivo_png_ou_gif
Realmente, um ponto que eu acho muito importante.
Particularmente eu gosto muito de aplicaticos “auto-atualizáveis”, como o Azureus por exemplo, ou seja, o aplicativo sabe que tem atualizações e “se” atualiza automaticamente (com ou sem confirmação do usuário).
Esse recurso do Splash é bem bacana…
Nos nossos programa de produção (ainda estão em Delphi) naquelas máquinas mais antigas é comum o usuário abrir a aplicação umas 5 vezes.
Como são impacientes…
[quote]Realmente, um ponto que eu acho muito importante.
Particularmente eu gosto muito de aplicaticos “auto-atualizáveis”, [/quote]
Luiz, como funciona o “auto atualizavel” , por acaso tem algum tutorial sobre esse assunto, realmente isso é muito importante…
abraços e valeu pela dica