VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA

1.185 visualizações

Publicada em

Desenvolver rápido em JAVA só depende de você, conheça o VRaptor.

Publicada em: Software
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.185
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
28
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA

  1. 1. Um frameworkWEB MVC para desenvolvimento ágil com JAVA
  2. 2. Formação acadêmica Pós-graduado em Segurança de redes e sistemas Graduado em Sistemas de informação - Faculdade Santa Maria Graduado em Analise e desenvolvimento de sistemas - UNIBRATEC Oracle Certified Java Associate 5/6 Oracle Certified Java Programmer 6 Membro do PMI® Management Institute Sobre o palestrante Yelken H. F. Gonzales Experiência profissional Analista de sistemas no grupo Ferreira Costa Atuou como desenvolvedor no portal de dados abertos do governo do estado de PE e na implantação e desenvolvimento de inovações tecnológicas no grupo Ferreira Costa Atuou em empresas e orgão público como: Safari Studio, BankSystem Software Builder, Prefeitura de Olinda Campeão no Hackathon Telefonica Vivo / Firefox OS de melhor aplicativo na Campus Party de 2013 Projeto SkyON o qual faço parte da equipe em segundo lugar no Hackathon da NASA em Recife
  3. 3. Motivação da palestra Cometi vários erros em um projeto de automação na WEB
  4. 4. Conceitos básicos
  5. 5. Frameworks WEB
  6. 6. O que é Framework? ‘‘ Um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica.
  7. 7. • Popularidade • Filosofia • Sustentabilidade • Técnica • Segurança • Documentação • Licença • Tem recurso no mercado? • Experimente! Critérios para escolher um framework
  8. 8. E MVC ? ‘‘ MVC é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si.
  9. 9. • Framework MVC para WEB • Focado no desenvolvimento rápido • Action based • Open source • Iniciativa da comunidade JAVA Brasileira • Criado na USP em 2003 • Mantido pela CAELUM Enfim o VRaptor!!
  10. 10. • 1.0 em 2003 • 2.0 em 2006 baseada no Ruby on Rails • 3.0 em 2009 com conceito forte de configuração, injeção de dependência, annotations e serviços WEB • 4.0 em 2014 com uma evolução maior em CDI Versões do VRaptor
  11. 11. • Alta produtividade • Baixa curva de aprendizagem • Testabilidade • Economia de tempo no projeto e consequentemente dinheiro • Flexibilidade • Documentação em português Vantagens
  12. 12. •Não possui componentes próprios como o JSF •Maior dependência do HTML, CSS e Javascript Desvantagens
  13. 13. •Aprenda HTML, CSS e JS. •Jquery ,Jquery UI, YUI, ExtJS e AngularJS •Use o VRaptor! Solução para as desvantagens
  14. 14. Convention over configuration
  15. 15. web.xml
  16. 16. Recursos
  17. 17. Controllers @Resource public class ProdutosController { private ProdutoDao dao; ! public List<Produto> lista() { return dao.listaTodos(); } }
  18. 18. View <ul> <c:forEach items=“${produtoList}” var=“produto"> <li> ${produto.id} - ${produto.nome} </li> </c:forEach> </ul>
  19. 19. Injeção de dependência @Component public class ProdutoDao { //... } ! @Resource public class ProdutosController { private ProdutoDao dao; public ProdutosController(ProdutoDao dao) { this.dao = dao; } }
  20. 20. Redirecionamentos public void adiciona(Produto produto){ dao.adiciona(produto); result.redirectTo(this).lista(); }
  21. 21. Validação public void adiciona(Funcionario funcionario) { if (funcionario.getNome().isEmpty()) { validator.add(new ValidationMessage(“nome.invalido","erro")); } validator.onErrorUsePageOf(this).formulario(); dao.adiciona(funcionario); };
  22. 22. REST public class ProdutosController { ! @Get(“/produtos") public List<Produto> lista() {…} ! @Post(“/produtos") public void adiciona(Produto produto) {…} ! @Get(“/produtos/{produto.id}") public void visualiza(Produto produto) {…} ! }
  23. 23. JSON e XML (AJAX) public void loadJson(Cliente cliente { result.use(json()).from(cliente).serialize(); } ! public void loadXml(Cliente cliente) { result.use(xml()).from(cliente).serialize(); }
  24. 24. Vamos a parte prática
  25. 25. • github.com/caelum/vraptor • caelum-vraptor@googlegroups.com • http://vraptor.caelum.com.br/ comunidade.jsp Comunidade
  26. 26. Dúvidas
  27. 27. @yelkezin Yelken Heckman ylk.com.br Obrigado!

×