Pessoal eu trabalho com java mas , estou começando a trabalhar com o java para a web (EE) , e gostaria de saber as vantagens e
desvantagens destes itens (JSF, HIBERNATE,JPA,SERVLET,STRUCT , VISUAL JSF), bem como quando devemos usar?
Olá Sulito,
Cara, seguinte:
Pelo jeito você realmente não sabe muita coisa de Java Web. Servlet e JPA fazem parte da Api JEE do Java, na qual você deve dar uma profunda olhada antes de qualquer coisa Web em Java. Já Hibernate e JSF são frameworks que você pode acrescentar ou não na sua aplicação Web. Quanto a Struct eu não sei o que é, se for Struts seria outro framework semelhante a JSF.
Quando se fala em Java para Web você precisa de um servidor para rodar suas aplicações, logo você é obrigado a utilizar a api JEE (Servlet, JSP, JPA, etc) . Os frameworks implementam padrões de projetos e têm muitas coisas reutilizáveis para você utilizar no seu projeto. No caso do JSF e Struts, eles implementam padrões como MVC e Front Controller, o Hibernate é utilizado para gravar seus dados no banco, fazendo mapeamento objeto-relacional (convertendo classes java e em tabelas no banco ou vice-versa).
Bom, tentei ser simples nas explicações, desculpe se não respondi em totalidade a sua pergunta, mas se fosse escolher uma arquitetura básica usando Java + Frameworks, te recomendaria JSF+Spring+Hibernate. Essa arquitetura é bastante popular e você encontrará muito material.
Um abraço!
sulito,
. JSF, Struts são frameworks para agilizar/ajudar no desenvolvimento WEB;
. VisualJSF se não me engano é um plugin para o Netbeans, mas deve ter para o Eclipse também;
. JPA é uma especificação para mapear objetos para o modelo de BD relacional e Hibernate é um framework para fazer o relacionamento.
Em relação as vantagens e desvantagens você irá tirar suas próprias conclusões quando começar a usar os frameworks.
OBS: Tanto JPA como Hibernate podem ser implementados com J2SE também.
Olá Sulito. Por favor, não poste tópicos com o título em letras maiúsculas.
Mas isso eu ja sabia , em qualquer apostila tem isso,
MAs o que eu quero saber é quais as vantagens por exemplo de usar o jsf, eu quero saber algo que me motiva a aprender a usar estas tecnologias
porque paginas web dinamicas pode-se fazer sem usar isto tudo com apenas jsp
Sulito,
Hoje a grande maioria dos sistemas legados WEB em Java são em Struts + Spring + Hibernate.
Porém a comunidade está meio avessa a isso.
Antes de você começar a querer estudar as frameworks, de uma estudada em padrões de projetos.
cada framework dessa implementa um ou alguns dos padrões, e elas não necessáriamente são obrigadas
a serem usadas com Java para WEB, Salvo as espeecíficas (Struts, JSF).
Bem a maioria dos problemas em desenvolvimento de software em Java pode facilmente ser resolvidos,
com Hibernate + Spring, O Hibernate lhe dá controle e agilidade no desenvolvimento e usá-lo com JPA
torna ótimo e agradável seu desenvolvimento. O Spring é uma framework de Injeção de dependencia e
inversão de controle, o maior ganho com isso na minha opinião é em manutenção de software. Essas duas
frameworks são padrão no mercado, quase que todos os desenvolvedores sabem usá-las, e os que não
sabem estão começando a aprender como você, depois que você aprender a usá-las, ai sim recomendo
partir para uma framework web, como o Struts e o JSF, em geral você vai ver muitos evangelistas de frameworks
assim como existe os de linguagem, que ficam naquela guerra de que “a minha é melhor que a sua”,
o que eu posso te dizer é que com o tempo as coisas evoluem, isso quer dizer que as mais antigas eram
mais complicadas de se trabalhar e as suas versões mais novas ficaram mais simples de trabalhar,
e que cada uma usa um conceito diferente.
Basicamente existe dois tipo de frameworks web:
Baseadas em ações: exemplo o Struts, eu admiro esse tipo de framework, um bom exemplo de outra muito boa
é o VRaptor da galera da Caelum, muito fácil de trabalhar com ela.
Baseadas em eventos: exemplo JSF, eu em particular não gosto muito, porém recomendo, pois se você está acostumado
com Swing, fica mais fácil aprender.
Cara caia dentro, o mercado não exige uma única em especial, cada lugar pede uma em especial ou uma variação,
por exemplo no JSF existe as variações (ADF Faces, Rich Faces, Ice faces).
Se você aprender Hibernate, Spring, Struts 1.x, e JSF, você será capaz de se virar bem com qualquer outra em minha
opinião pessoal.
Manda bala.
PS: Vantagens e desvantagens só você mesmo vai poder ver.
JSF, Hibernate com toda certeza.
obrigado pela resposta, agora sim foi uma boa resposta , mas eu não vou por resolvido no forum porque ainda pode aparecer mais qualquer resposta boa
Cara estuda Qooxdoo, isso vai muda a sua vida! tudo isso ai e so tranqueira!
aham Claudia, senta lá, e quem vai pagar o leite das crianças no dia seguinte ? (eu pelo menos não tenho visto o mercado adotar isso)
minha salada de frutas de frameworks/especificações preferidas são:
Spring 2.5/3
JPA/JPA2 (com implementação Hibernate)
Se for um sistema para intranet, que não exija controle da url, escolheria JSF fácil, caso contrário, ficária com Spring MVC mesmo que já está dentro do própio Spring e eu ja ganha uma porrada de benefícios (DI, IOC, Cron …).
[]'s
struct é uma estrutura de dados do C parecido com uma classe porem sem metodos foi o que deu origem as classes que temos nos dias de hj…
ja struts é um framework web mvc, foi o que vc quis se referir… não é struct e sim struts!
Não confunda as coisas!
aham Claudia, senta lá, e quem vai pagar o leite das crianças no dia seguinte ? (eu pelo menos não tenho visto o mercado adotar isso)
minha salada de frutas de frameworks/especificações preferidas são:
Spring 2.5/3
JPA/JPA2 (com implementação Hibernate)
Se for um sistema para intranet, que não exija controle da url, escolheria JSF fácil, caso contrário, ficária com Spring MVC mesmo que já está dentro do própio Spring e eu ja ganha uma porrada de benefícios (DI, IOC, Cron …).
[]'s[/quote]
Para aplicação particular eu o recomendo o qooxdoo, ate pq ate a EA GAMES esta com ele em novos jogos e atualmente e a melhor opção, pena q no Brasil o pessoal e lento para tecnologia!
A grande vantagem no uso de frameworks é a agilidade, facilidade de uso e é claro a manutenção na aplicação provida por eles.
O JSF oferece a componentização de elementos visuais o que é uma ótima sacada, já o jpa/hibernate abstrai e muito a lógica de banco de dados.
Qual a vantagem de usar um framework?
Veja bem, é a mesma coisa que você tentar construir uma casa e ter que fazer até os próprios tijolos, sendo que você pode ir na loja e fazer o “download” de alguns tijolos já feitos… sacou?
[quote=marcelo.bellissimo]Qual a vantagem de usar um framework?
Veja bem, é a mesma coisa que você tentar construir uma casa e ter que fazer até os próprios tijolos, sendo que você pode ir na loja e fazer o “download” de alguns tijolos já feitos… sacou?[/quote]
obrigado pela resposta, mas chegou um pouco tarde.
hoje eu ja uso muito bem o jsf e compania, graças a ajuda dos outros membros do guj,.
mas respondeste muito tarde eu fiz a pergunta em 16/12/2009 04:57:11 e voce respondeste em 13/01/2011 15:08:28 .
mas valeu a participação