Escolha das tecnologias para inicio de um projeto

11 respostas
renatomattos2912

Boa tarde a todos,

Eu comecei um projeto de aprendizado de desenvolvimento web, estou estudando pela internet e selecionando as tecnologias que irei utilizar, ja li as 2 apostilas da caelum de desenvolvimento web e eu ja basicamente escolhi tudo que irei utilizar porem ainda nao sei muito bem como ou pq utilizar determinadas ferramentas, por isso venho pedir a ajuda de vcs.

vamos la, vou listar abaixo as tecnologias q escolhi:

IDE - Spring Source Tool Suite 2.9.2

Maven 2 - utilizando o plugin M2E de integração do eclipse

SVN - utilizando o plugin subversive para o eclipse

JBoss AS 7.1 - servidor

VRaptor 3 - Framework MVC

Spring - na parte do spring estou pensando por enquanto no spring security e o spring transaction.

Hibernate 3 - no controle de BD

Bom, tendo tudo isso instalado e/ou baixado quero começar meu projeto mas não sei bem como, eu nunca utilizei maven nem subversion, ja fiz um projeto no vraptor utilizando hibernate e iniciando no spring e sei como funciona de forma basica pelo menos a parte do vraptor, tanto é q eu tinha um projetinho nele e o transformei em projeto do maven atraves do eclipse mas não sei se esta nos padroes corretos e nem no q isso influenciou, enfim, eu queria a ajuda de vcs para saber se o q escolhi é realmente bom, como gerar um blank project do vraptor ja com maven (eu li algo sobre mas nao falava como fazer) e como utilizar o subversion nisso tudo.

11 Respostas

drsmachado

Com maven você não precisa baixar nem instalar nada de:
Spring
vRaptor
Hibernate
Nem se preocupar em realizar build e deploy. Só irá se preocupar em configurar para que o maven gerencie as dependências do projeto e faça o build e deploy adequadamente.
Se não me engano, o JBoss permite interação com o maven.

Acredito que o maven seja a primeira coisa a estudar.

renatomattos2912

Entendi, mas é mesmo recomendado utilizar o maven?? tenho encontrado muitas controvérsias, uns dizendo q nao vale a pena, outros dizendo q sim, tem algo q faça o mesmo q ele e q seja melhor ou estudo ele mesmo sem medo?

drsmachado

Por que o medo de aprender maven?
Maven é uma ferramenta que otimiza o processo de gerenciamento de dependências. O que é isso?
Suponha que você vai usar Hibernate no projeto. Um dos jars requeridos pelo hibernate é o javassist. Qual versão deve-se usar? É aí que entra o maven.
Você faz a configuração em um arquivo chamado pom.xml e, de acordo com o que está definido, o maven se encarrega de encontrar, baixar e colocar à disposição do projeto, os jars que você precisa.

Sugiro que você teste, maven x fazer o gerenciamento na mão (opção que eu mais gosto). Particularmente, tenho certos problemas com uso de maven, não gosto da forma como ele trabalha.

satangoss

Sobre o subversion, ensino como usar ele utilizando os repositorios do google.code na 3º aula sobre JSF 2.0 no meu canal no youtube da uma olhada:
www.youtube.com/kurtphpr

renatomattos2912

é estou pensando em começar o aprendizado esquecendo o maven o SVN por enquanto, pq pelas pesquisas q fiz é mais indicado quando houver um time de desenvolvimento, e no caso sou só, então talvez fosse melhor eu focar no VRaptor + Hibernate + Spring. O q acham?? vcs tem alguma indicação de mais alguma coisa q eu possa inserir no desenvolvimento?

J

Em relação ao Spring. para que pretende usa-lo ??? Eu não misturaria VRaptor e Spring, usaria somente o spring. Eu acho que Hibernate só é bom quando o banco de dados é um simples repositório de armazenamento. Acho ruim quando o sistema tem muita inteligência com o BD usar hibernate, mas depende muito!

Acho que esta faltando falar da camada de apresentação. Eu gosto de controlar tudo então prefiro usar o tradicional HTML/CSS/Javascript. Para javascript costumo adotar o Jquery (mas já tive casos que adotei dojo e extJS). Para montar a JSP, no máximo JSTL e tags próprias. Para Ajax gosto muito de DWR.
Ou senão você aborta tudo isso e vai para um component-based, JSF é padrão, mas gosto também do Wicket. Ou senão GWT…

maykoone

Se você está começando, recomendo ir aos poucos, do que começar utilizando muitas tecnologias que você ainda não sabe o ganho que vai ter. Apesar de o SVN e o Maven não serem bicho de sete cabeças. Acho que o que você escolheu tá bom, não sei se você vai utilizar somente o Hibernate puro (Session) ou vai usar juntamente com o JPA (EntityManager), talvez esteja aí alguma coisa pra você ver.

renatomattos2912

Jmmenezes: o spring nao irei utilizar o modelo mvc dele, utilizarei apenas o sprimg security para controlar o acesso ao sistema e o sptimg transaction para controlar as transacoes do hibernate, quanto ao hibernate nao ser bom para aplicaçoes complexas isso eh algo q eu queria saber de mais opinioes, voce utiliza o q no caso de aplicacoes complexas, tem mais argumentos sobre isso? Quanto ao view da aplicaçao eu concordo, tmb gosto de ter controle, vou verificar suas indicaçoes, obrigado

renatomattos2912

Quanto ao hibernate eu irei utilizar com jpa e spring transaction, tem alguma dica?

J

Então… acho o hibernate mais produtivo nas operações mais basicas, mas quando precisa fazer algo complexo, muitas vezes precisa fazer na unha e usar até recursos do DB (procedures). Sendo assim perde todo o “charme” da facilidade de trocar de banco de dados e acaba exigindo conhecimento de sql dos programadores (principalmente se a equipe é pequena).
Tem a questão de performance também onde em alguns testes que fiz consegui mais performance colocando complexidade de seleção de dados nas procedures e usando com JDBC direto mas isso só quando são complexas.
Entretanto não confundir isso com deixar a regra no banco, pois deixar a regra no banco não é legal para escalabilidade, ou seja, a regra fica do lado do java, que chama diversas procedures basicas para chegar em algum resultado. Dependendo do sistema não é problema engessar o mesmo com o BD.
Mas tem casos e casos, precisa analisar o seu… tem casos que o hibernate é muito bom…

renatomattos2912

jmmenezes: entendi

Criado 8 de agosto de 2012
Ultima resposta 9 de ago. de 2012
Respostas 11
Participantes 5