vraptor - um framework mvc web para desenvolvimento ágil com java
DESCRIPTION
Desenvolver rápido em JAVA só depende de você, conheça o VRaptor.TRANSCRIPT
![Page 1: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/1.jpg)
Um framework WEB MVC para desenvolvimento ágil com JAVA
![Page 2: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/2.jpg)
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 palestranteYelken 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
![Page 3: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/3.jpg)
Motivação da palestra
Cometi vários erros em um projeto de automação na WEB
![Page 4: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/4.jpg)
Conceitos básicos
![Page 5: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/5.jpg)
Frameworks WEB
![Page 6: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/6.jpg)
O que é Framework?
‘‘Um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica.
![Page 7: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/7.jpg)
• Popularidade
• Filosofia
• Sustentabilidade
• Técnica
• Segurança
• Documentação
• Licença
• Tem recurso no mercado?
• Experimente!
Critérios para escolher um framework
![Page 8: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/8.jpg)
E MVC ?
‘‘MVC é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si.
![Page 9: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/9.jpg)
• 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!!
![Page 10: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/10.jpg)
• 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
![Page 11: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/11.jpg)
• Alta produtividade
• Baixa curva de aprendizagem
• Testabilidade
• Economia de tempo no projeto e consequentemente dinheiro
• Flexibilidade
• Documentação em português
Vantagens
![Page 12: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/12.jpg)
•Não possui componentes próprios como o JSF
•Maior dependência do HTML, CSS e Javascript
Desvantagens
![Page 13: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/13.jpg)
•Aprenda HTML, CSS e JS.
•Jquery ,Jquery UI, YUI, ExtJS e AngularJS
•Use o VRaptor!
Solução para as desvantagens
![Page 14: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/14.jpg)
Convention over configuration
![Page 15: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/15.jpg)
web.xml
![Page 16: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/16.jpg)
Recursos
![Page 17: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/17.jpg)
Controllers
@Resource public class ProdutosController { private ProdutoDao dao; !
public List<Produto> lista() { return dao.listaTodos(); } }
![Page 18: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/18.jpg)
View
<ul> <c:forEach items=“${produtoList}” var=“produto"> <li> ${produto.id} - ${produto.nome} </li> </c:forEach> </ul>
![Page 19: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/19.jpg)
Injeção de dependência@Component public class ProdutoDao { //... } !
@Resource public class ProdutosController { private ProdutoDao dao; public ProdutosController(ProdutoDao dao) { this.dao = dao; } }
![Page 20: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/20.jpg)
Redirecionamentos
public void adiciona(Produto produto){ dao.adiciona(produto); result.redirectTo(this).lista(); }
![Page 21: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/21.jpg)
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); };
![Page 22: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/22.jpg)
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) {…} !}
![Page 23: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/23.jpg)
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(); }
![Page 24: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/24.jpg)
Vamos a parte prática
![Page 25: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/25.jpg)
•github.com/caelum/vraptor
•http://vraptor.caelum.com.br/comunidade.jsp
Comunidade
![Page 26: VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA](https://reader031.vdocuments.pub/reader031/viewer/2022020207/5560b24fd8b42a033c8b470c/html5/thumbnails/26.jpg)
Dúvidas