vraptor - um framework mvc web para desenvolvimento ágil com java
Post on 24-May-2015
619 Views
Preview:
DESCRIPTION
TRANSCRIPT
Um framework WEB MVC para desenvolvimento ágil com JAVA
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
Motivação da palestra
Cometi vários erros em um projeto de automação na WEB
Conceitos básicos
Frameworks WEB
O que é Framework?
‘‘Um framework é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica.
• Popularidade
• Filosofia
• Sustentabilidade
• Técnica
• Segurança
• Documentação
• Licença
• Tem recurso no mercado?
• Experimente!
Critérios para escolher um framework
E MVC ?
‘‘MVC é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si.
• 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!!
• 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
• Alta produtividade
• Baixa curva de aprendizagem
• Testabilidade
• Economia de tempo no projeto e consequentemente dinheiro
• Flexibilidade
• Documentação em português
Vantagens
•Não possui componentes próprios como o JSF
•Maior dependência do HTML, CSS e Javascript
Desvantagens
•Aprenda HTML, CSS e JS.
•Jquery ,Jquery UI, YUI, ExtJS e AngularJS
•Use o VRaptor!
Solução para as desvantagens
Convention over configuration
web.xml
Recursos
Controllers
@Resource public class ProdutosController { private ProdutoDao dao; !
public List<Produto> lista() { return dao.listaTodos(); } }
View
<ul> <c:forEach items=“${produtoList}” var=“produto"> <li> ${produto.id} - ${produto.nome} </li> </c:forEach> </ul>
Injeção de dependência@Component public class ProdutoDao { //... } !
@Resource public class ProdutosController { private ProdutoDao dao; public ProdutosController(ProdutoDao dao) { this.dao = dao; } }
Redirecionamentos
public void adiciona(Produto produto){ dao.adiciona(produto); result.redirectTo(this).lista(); }
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); };
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) {…} !}
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(); }
Vamos a parte prática
•github.com/caelum/vraptor
•caelum-vraptor@googlegroups.com
•http://vraptor.caelum.com.br/comunidade.jsp
Comunidade
Dúvidas
top related