Olá pessoal. Blz ?
Gostaria, se possível, que vocês, com mais experiência, tirassem a seguinte dúvida que tenho: Qual a diferença entre programação WEB para a programação Desktop ?
Já fiz várias consultas no google a respeito desta diferença, mas até agora não achei a uma resposta que esclarecesse, de forma clara, a diferença entre o ambiente WEB em relação ao ambiente Desktop.
Agradeço desde então.
o nome ja diz web pra internet voce roda sua aplicação na nuvem em qlqer computador que tenha acesso a internet
ex atraves de um navegador…
e desktop voce fica preso a uma rede local ou a um só computador
[quote=michelorth_92]o nome ja diz web pra internet voce roda sua aplicação na nuvem em qlqer computador que tenha acesso a internet
ex atraves de um navegador…
e desktop voce fica preso a uma rede local ou a um só computador[/quote]
O que o nosso amigo falou ja diz tudo, agora se for em questão de desenvolvimento tem muita diferença, questão de frameworks por exemplo, a forma como a programação acontece, eu mesmo acho programação web mais no braço do que desktop.
Em primeiro lugar, não é só o nome.
Toda a estrutura é alterada.
Java desktop ou batch ou simplesmente JSE (antigo J2SE - Java to Standard Edition) é uma das várias divisõoes do java (dentre as mais famosas , JEE - Web e JME - Dispositivos móveis).
Ela contém definições, regras e uma série de ferramentas e facilitadores para desenvolvimento de aplicações que podem ou não ter interação com o usuário, nos moldes de janelas.
Estas janelas são formadas a partir de diversos componentes, baseados, principalmente, em elementos provindos das APIs AWT (primeira e mais antiga a dar suporte ao desenvolvimento de aplicativos desktop, contém uma gama pequena e funcional de opções para criação de janelas) ou Swing (mais moderno, novo e com muitas opções que dependem ou não de AWT para funcionar).
É um mercado secundário na hierarquia de importância do java, visto que, JEE é, ainda, a menina dos olhos do mercado.
Dos principais pontos positivos, estão a facilidade de criar janelas e formulários, suporte quase que integral a orientação a objetos, segurança, facilidade em integrar com outros sistemas e DLLs.
Pontos negativos, gerenciamento de threads (deve-se isolar threads de eventos muito custosos, para não travar a janela), dificuldade com o controle da interface (por padrão, o swing gera uma tela com fundo azulado, botões azulados e desconexos, para ajuste, é preciso utilziar look and feels, que, nem sempre ajudam).
JEE (antigo J2EE - Java to Enterprise Edition) é uma outra divisão do java, regrada pela especificação das servlets (JSR-000154 - Servlets e Java Server Pages) e pela própria especificação JEE (JSR 000254 - JEE 5.0).
Entre as principais regulamentações das especificações está a estrutura do contâiner java para web (em linguagens de script e dinâmicas, como o PHP, é preciso apenas um http server, para java, é preciso um interpretador de código java, que é onde o contâiner entra).
O contâiner pode ser utilizado unicamente (como o caso do Apache Tomcat) ou estar dentro de um application server (como o cado do Glassfish, JBoss, Weblogic e Websphere).
O ambiente é totalmente diferente, tanto que as classes principais são modificações adaptadas para serem interpretadas pelo contâiner, as chamadas servlets.
Em se tratando de java web (ou EE), tudo o que for servlet ou jsp, no final, virará servlet.
JEE promete encapsular tudo o que existe em JSE, porém, em um ambiente que não é o desktop.
É plenamente possível “emular” aplicações JSE em um ambiente JEE, utilizando recursos de JNI, por exemplo.
Se está começando agora, sugiro estudar muito java básico, tendo o conhecimento no que é fundamento, fica muito simples entender a questão de JSE e JEE.