| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 08:52:25
|
MaxWeber
Entusiasta Java
![[Avatar]](/images/avatar/e69c6f677c3dfa8d5f6c40b27fe2d4a5.jpg)
Membro desde: 04/12/2008 23:03:01
Mensagens: 21
Localização: Barueri
Offline
|
Pessoal, hoje em dia dispõe-se de muitos frameworks e varias metodologias para adotarmos em nossos projetos.
Gostaria da opinião de vocês sobre quais seriam as ferramentas, frameworks etc, que melhor se encaixam para iniciarmos um projeto de médio para grande porte?
Em outras palavras, como cada um começaria um projeto?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 08:58:06
|
rlazoti
Virtual Machine Man
![[Avatar]](/images/avatar/0dee07203418a72583e5dd79d66965ed.png)
Membro desde: 09/04/2008 11:02:51
Mensagens: 569
Localização: Sao Paulo / SP
Offline
|
Então, somente com essas informações que você passou fica difícil tomar alguma decisão.
O ideal é levantar todas as necessidades, para aí sim pensar no que é melhor utilizar para resolver estas necessidades.
|
Rodrigo Lazoti
blog: http://www.rodrigolazoti.com.br
twitter: http://twitter.com/rodrigolazoti |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 09:23:21
|
mario.fts
GUJ Ranger
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline
|
independente do projeto, eu aconselho a utilizar o maven. facilita muito sua vida com relação a dependencias entre bibliotecas, builds, deploys e etc. o resto só sabendo mais
|
Mário Amaral Gonçalves
"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 09:30:52
|
JonathanSSantos
Java Ninja
![[Avatar]](/images/avatar/0ef369271418089b453894a05626712d.png)
Membro desde: 07/12/2009 14:14:07
Mensagens: 281
Localização: Porto Alegre
Offline
|
Acho que deve ser feito um levantamento do projeto! Verificar se o projeto é SE, EE...
Fazer todo o processo de levantamento de requisitos, e conforme o conhecimento da sua equipe...
Aplica no projeto o conhecimento que sua equipe tem! pois nao da pra ti manda todo mundo estuda de ultima hora aquele framework!
isso é o meu ponto de vista! hehe.. mesmo ja tendo feito isso!
mais conforme o conhecimento de todos e o tipo de projeto.. aplicar frameworks que te deem produtividade! e que sejam confiaveis!
Ateh mais!!
|
Valeu,
Jonathan Souza Santos
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 09:58:56
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
MaxWeber wrote:
Pessoal, hoje em dia dispõe-se de muitos frameworks e varias metodologias para adotarmos em nossos projetos.
Gostaria da opinião de vocês sobre quais seriam as ferramentas, frameworks etc, que melhor se encaixam para iniciarmos um projeto de médio para grande porte?
Em outras palavras, como cada um começaria um projeto?
Quão difícil você quer que a manutenção do sistema seja ?
Algumas ideias:
-Use a plataforma Java , se não quiser usar a linguagem java tudo bem, mas use a JVM
-Use OO
-Use o minimo de bibliotecas de terceiros.
-Isole todas as bibliotecas de terceiros.
-Tenha cuidado ao escolher bibliotecas de javasscript.
- Use um mecanismo de injeção. use um já pronto ou escreva o seu. Não é dificil.
- Se for web use um mecanismo de injeção de dados e classes de tratamento de ações independentes da api de servlets.
- Crie testes. Dê prioridade ao teste. se precisar mudar uma biblioteca ou complicar as coisas um pouco para fazer o teste, faça-o.
- Rode os testes frequentemente. Um mecanismo de integração continua é ideal. Eu gosto do hudson.
- Use Maven 2 e fique de olho no Maven 3.
- Use uma IDE competente (Eclipse, NetBeans...) . Use o minimo de plugins possivel.
- Se é uma site não orientado a formulários (aka sistema de cadastro e controle) nem pense em usar flex ou GWT.
- Se é desktop dê uma olhada em JavaFX ou pelo menos Swing. Tenha alguem na equipa que manja de UI.
- Se é web defina os browsers que vai suportar. Não tente suportar todos a menos que seja um site de e-commerce. E neste caso a equipa precisa de um designer experiente. Use páginas tableless e priorize o uso CSS. Aprenda a usar CSS corretamente.
- Se é web, crie suas proprias tags. Não use as de bibliotecas de terceiros. (isolamento)
- Defina a sua arquitetura. dimensione o numero de usuários.
- Define politicas de segurança. Vai ter login-password ? encripte a password.
- Use transações
- Use padrões de projeto de aplicação e de arquitetura corretamente
-considere usar Scrum.
-considere usar práticas ágeis como Pair Programing, Repositorio Partilhado,etc..
- Estime o projeto corretamente. corte o que é superfluo. Arquitetura correta não é superfluo. Plataforma de aplicação não é superfluo.
- Mantenha seu código sempre limpo, custe o que custar, doa a quem doer.
- em termos tecnologicos tenha muito cuidado com as escolhas que faz. Mantenha as bibliotecas de terceiros isoladas.
- Algumas opções comuns:
para Web
Cliente : javascript com JQuery , CSS 3 , Firefox (com plugn in firebug)
Apresentação : Spring MVC ou algo criado por si. Nem pense em struts 2 , muito menos o 1. Não pense em JSF a menos que tenha mais de uma pessoa na equipa com experiencia nisso. Parece legal para aplicações de cadastro, mas apenas se form bem simples. Veja se é compativel com os seus requisitos de tela.
: independnete
Dominio : velho e bom OO. Defina bem entidades, objetos auxiliares, aplica padrões corretamente. Use repositorios para isolar a pesquisa e persistencia. considere usar EJB apenas como ultimo recurso e apenas se tiver uma forte carga transacional e distribuida (como precisar ter transações JDBC e JMS interligadas) , fora isso não use EJB.
Integração : Hibernate é melhor que JPA. Mas JDBC é melhor que Hibernate se a equipa tiver experiência. Se a equipa tiver experiência suficiente considere implementar sem mecanismo ORM.
Recursos : Banco de dados relacional transacional. Muito importante que seja transacional, cuidado com o MySQL porque algumas configurações não são transacionais. PostgreSQL é , quanto a mim, o melhor em todos os aspetos. Melhor que Oracle inclusive, e é free.
- Leia Effective Java segunda edição (se possivel tb Java Puzzlers) do Joshua Block
- Leia Clean Code do Robert C Martin
- Se for estimar leia Software Estimation: Demystifying The Black Art
- Se for usar ágil leia :Agile Estimating And Planning
- Para levantar requisitos leia Software Requirement Patterns
Básicamente é isso...
This message was edited 1 time. Last update was at 18/12/2009 10:00:56
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/12/2009 10:08:39
|
Giulliano
GUJ Master
![[Avatar]](/images/avatar/7f5a17b792b687fc4c227a5c5e569dd8.jpg)
Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline
|
Básicamente é isso...
basicamente..
Eu recomendo o uso de Spring, JPA e JSF. (Se for web) além do que foi dito.
|
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi
<UnTouChAbLe> |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/11/2010 15:24:34
|
MaxWeber
Entusiasta Java
![[Avatar]](/images/avatar/e69c6f677c3dfa8d5f6c40b27fe2d4a5.jpg)
Membro desde: 04/12/2008 23:03:01
Mensagens: 21
Localização: Barueri
Offline
|
Ola,
Gostaria de agradecer as respostas a este topico, em especial ao Sergio Taborda, exelente post. Desde a data tem me ajudado muito e creio que pode ajudar a outros desenvolvedores também a terem uma ideia. Obrigado.
|
|
|
 |
|
|