Stand Alone( Desktop ) VS Web ( jsp, servlet etc)

7 respostas
S

Pessoal este topico foi aberto para discutirmos qual as vantagens e quais as desvantagens dos aplicativos web e dos stand alone
vou escrever o que eu acho de cada um deles
:arrow: stand alone (desktop )
:thumbup: Interface grafica muito bonita e com eventos mais diversificados
:thumbup: O processamento é feito do lado do cliente, deixando o servidor mais livre
:thumbup: Mais amigavel com o usuario
:thumbdown: Problema quando se tem um predio com 500 clientes e tem que se configurar o sistema em todos os pc individualmente para se usar em todos pc
:thumbdown: problema com codigo nativo ou codigo não portavel
:arrow: web
:thumbup:Interface grafica mais facil de fazer até por pessoas que não entendem nada de java
:thumbup: Facilidade na instalação da aplicação nos clientes , sendo preciso les enviar apenas o link :slight_smile:
:thumbdown: Sobrecarrega muito o servidor em ambientes onde tem muitas requisições

Pessoal eu listei as que eu me lembrei , listem as vossas e critiquem as minhas :slight_smile:
mas eu prefiro o WEB

7 Respostas

tnaires

Hoje em dia não há tantas aplicações “gordas” como antigamente, isto é, com todo o processamento no cliente. Uma arquitetura muito comum atualmente é deixar o cliente magro e colocar a lógica da aplicação no lado do servidor.

Isso costumava ser mais crítico no passado, mas nos dias de hoje podemos encontrar excelentes frameworks que diminuem um pouco o “gap” existente entre interatividade desktop e web.

Java Web Start se propõe a resolver esse problema.

Não concordo muito. É claro que frameworks orientados a componentes facilitaram muito o trabalho, mas ainda é preciso se preocupar com CSS e afins.

ViniGodoy

De qualquer forma, é mais fácil achar um designer que entende de css/html do que alguém um que entenda de swing.

tnaires

É verdade, mas uma ferramenta como o Matisse do Netbeans permite criar designs interessantes com Swing sem entender muito além do básico.

serathiuk

Eu ainda prefiro unir o melhor dos 2 mundos. Programar para web com frameworks orientadas a componentes. Se você for desenvolver interfaces ricas utilizando Adobe Flex, GWT(com EXT-GWT/GXT, SmartGWT ou Vaadin), Openlaszlo entre outras, você consegue desenvolver para web, de forma semelhante(não igual) a desktop, sem se preocupar com CSS, Javascript, HTML, etc… Pelo menos utilizando GWT com GXT ou SmartGWT minha preocupação com CSS/Javascript é zero. E que pelo que sei com Adobe Flex é a mesma coisa.

Links:
SmartGWT: http://www.smartclient.com/smartgwt/showcase/
EXT-GWT: http://www.extjs.com/examples/explorer.html
Vaadin: http://vaadin.com/demo
Adobe Flex: http://flex.org/showcase_page
Openlaszlo: http://www.openlaszlo.org/showcase

Mas se não fosse para utilizar uma framework orientada a componentes, mesmo assim eu iria preferir desenvolver para web, pois é mais fácil de distribuir e na minha opinião é mais fácil de manter. Desenvolvo para desktop somente se necessário mesmo.

G

Preferir por um ou outro não é tão simples assim. A menos que você fale apenas de gosto pessoal. Para cada projeto você precisa avaliar os pós e contras em usar uma ou outra arquitetura.

Projetos desktop podem ser escaláveis e distribuídos como web. Se você escrever, por exemplo, uma agenda em swing você pode usar Java Web Start. Assim você recebe atualizações automaticas, não precisa ter a aplicação instalada e se sua agenda precisar você pode conectar em um módulo EJB remoto, acessar um webservice e tudo mais que você ter em mente. Uma aplicação web também pode fazer o mesmo.

Isso você pode também ter na web. Hoje com as diversas técnicas de CSS e Javascript você pode fazer tudo que uma aplicação desktop faz. Até mesmo preparar o layout para impressão você faz no CSS. Eu tenho um projeto web que até manda imprimir em uma impressora dessas termicas.

O Vini já falou muito bem sobre isso. Mas tudo depende do que você tem. E confirmo: é sempre ideal mesmo que você tenha uma aplicação desktop deixar o processamento maior no servidor e o cliente apenas com as views. Regras de negócio e processamento pesado ficam no servidor, até porque conforme a aplicação for crescendo você pode ir escalando seu hardware conforme a necessidade. Claro, isso vale para aplicações mais complexas. Você não precisa ter uma calculadora remota, né? :smiley:

Vide meu primeiro item. O swing pode ser tão amigável quando um sistema web. E o contrário, ambos podem ser muito chatos para o usuário se for mal feito. Não vejo diferença em ser web ou desktop nesse sentido.

Aqui você pode usar o Java Web Start. Assim você tem uma aplicação desktop que sincroniza pela web para auto-atualizar.

Ué, não entendi. Java só não é portável se você usar coisas dependentes do SO, por exemplo, c:\foo\bar ao invés de /foo/bar. Ou um load-library…

Sim, nesse ponto eu concordo. Fazer um JSP com um CSS é relativamente mais simples que swing. Embora há editores visuais muito bons.

Isso você pode fazer com o Java Web Start. Como já falei, o comportamento é o mesmo entre ambos (web e desktop).

Mas se sobrecarregar você pode ir escalando conforme houver necessidade. Aliás se você deixar um cliente magro e servidor robusto você tem uma economia de hardware necessário para rodar a aplicação no cliente, investindo apenas no servidor. A economia é que você precisará escalonar apenas o servidor caso a aplicação aumentar. Imagine você trocar todo o hardware de uma empresa de 500 clientes? É mais vantagem você ter 10G de memória no servidor do que 1G em 10 maquinas. Até porque se um cliente exigir mais você terá falta de recursos em um cliente e sobra de recursos em outro.

Finalizando, muito bom seu post. Acho que dá para ter uma excelente discução sobre o assunto. E pela experiência que tenho já tanto em aplicações desktop e web, você pode fazer tudo que precisa em qualquer uma delas. Basta um pouco de conhecimento das APIs e criatividade (sem gambiarras claro).

Abraços

S

pessoal mas axo que sem sobra de duvida posso afirmar que nas empresas em geral se usa mais java para a WEB??? :?:

tnaires

Embora não seja fácil de comprovar, creio que a maioria de nós se depara mais com sistemas java web do que desktop.

Criado 30 de dezembro de 2009
Ultima resposta 31 de dez. de 2009
Respostas 7
Participantes 5