palestra vraptor 3

59
Desenvolvimento web ágil com VRaptor 3 Romero Meireles

Upload: romero-meireles

Post on 11-Jan-2017

149 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Palestra VRaptor 3

Desenvolvimento web ágil com VRaptor 3

Romero Meireles

Page 2: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 3: Palestra VRaptor 3

O que é o VRaptor? Framework MVC brasileiro Desenvolvido pela Caelum Inspirado no Ruby on Rails Focado no desenvolvimento ágil Diminui drasticamente tempo de trabalho Convenção sobre configuração Roda sobre o Spring

Page 4: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 5: Palestra VRaptor 3

Primeiro contato

Page 6: Palestra VRaptor 3

Primeiro contato

Page 7: Palestra VRaptor 3

Primeiro contato Convenção de acesso à view:WEB-INF/jsp/{nomeDoResource}/{nomeDoMétodo}.jsp

No nosso caso:WEB-INF/jsp/olaMundo/ola.jsp

Como acessaremos a view:localhost:8080/PalestraVRaptor/olaMundo/ola

Page 8: Palestra VRaptor 3

Primeiro contato

Page 9: Palestra VRaptor 3

Primeiro contato

Page 10: Palestra VRaptor 3

Primeiro contato

Page 11: Palestra VRaptor 3

Primeiro contato

Page 12: Palestra VRaptor 3

Primeiro contato

Page 13: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 14: Palestra VRaptor 3

Injeção de dependências Quais são minhas dependências?

Quem instanciará as classes?

Como o Vraptor sabe disso?

Page 15: Palestra VRaptor 3

Injeção de dependências

Page 16: Palestra VRaptor 3

Injeção de dependências

Page 17: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 18: Palestra VRaptor 3

Enviando dados via form

Page 19: Palestra VRaptor 3

Enviando dados via form

Page 20: Palestra VRaptor 3

Enviando dados via form

Page 21: Palestra VRaptor 3

Enviando dados via form

Page 22: Palestra VRaptor 3

Enviando dados via form

Page 23: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 24: Palestra VRaptor 3

Escopos definidos @RequestScoped (padrão)

@SessionScoped

@ApplicationScoped

@PrototypeScoped

Page 25: Palestra VRaptor 3

Escopos definidos @PostConstruct: assim que o escopo for

iniciado

@PreDestroy: assim que o escopo for finalizado

Page 26: Palestra VRaptor 3

Escopos definidos

Page 27: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 28: Palestra VRaptor 3

Validação Componente Validator do VRaptor Maneira clássica Maneira fluente Integração com o Hibernate Validator Especificar para qual lógica encaminhar

Page 29: Palestra VRaptor 3

Validação - clássica

Page 30: Palestra VRaptor 3

Validação - clássica

Page 31: Palestra VRaptor 3

Validação - fluente

Page 32: Palestra VRaptor 3

Validação - fluente

Page 33: Palestra VRaptor 3

Validação - fluente

Page 34: Palestra VRaptor 3

Validação - fluente

Page 35: Palestra VRaptor 3

Validação – Hibernate Validator

Validador do VRaptor integrado com o Hibernate Validator

Page 36: Palestra VRaptor 3

Validação – Hibernate Validator

Page 37: Palestra VRaptor 3

Validação – Hibernate Validator

Page 38: Palestra VRaptor 3

Validação – exibição dos erros

Page 39: Palestra VRaptor 3

Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST

Page 40: Palestra VRaptor 3

REST Representation State Tranfer Padrão arquitetural Endereçamento de forma padronizada (nice

urls) Maior visibilidade para componentes

intermediários Diminui acoplamento entre cliente e servidor

Page 41: Palestra VRaptor 3

Triângulo REST

Substantivos

Verbos

Content types

Page 42: Palestra VRaptor 3

REST – Substantivos: recursos

URI (Unified Resource Identifier)

Nome dos recursos

Recursos != Ações

Má prática: /produto/adiciona

Page 43: Palestra VRaptor 3

REST - Verbos Conjunto pequeno e fixo de operações Interface uniforme Operações HTTP:

› Get, Post, Put, › Delete, Head, Options, Trace

Page 44: Palestra VRaptor 3

REST - Verbos Get: recuperar dados de um recurso Post: adiciona dados de um recurso Put: adiciona ou modifica dados Delete: deleta o recurso representado na

URI Head, Options, Trace: recuperam

metadados da URI

Page 45: Palestra VRaptor 3

REST - Verbos

Page 46: Palestra VRaptor 3

REST - Verbos

Page 47: Palestra VRaptor 3

REST - Verbos

Page 48: Palestra VRaptor 3

REST - Verbos

Page 49: Palestra VRaptor 3

REST - Verbos (ex.: PUT)

Page 50: Palestra VRaptor 3

REST - Verbos (ex.: PUT)

Page 51: Palestra VRaptor 3

REST - Verbos (ex.: PUT)

Page 52: Palestra VRaptor 3

REST - Verbos (ex.: PUT)

Page 53: Palestra VRaptor 3

REST - Verbos (ex.: PUT)

Page 54: Palestra VRaptor 3

REST - Verbos (ex.: Delete)

Page 55: Palestra VRaptor 3

REST - Verbos (ex.: Delete)

Page 56: Palestra VRaptor 3

REST - Verbos (ex.: Delete)

Page 57: Palestra VRaptor 3

Path com expressões regulares

Page 58: Palestra VRaptor 3

Por que usar VRaptor? Alta produtividade Curva de aprendizado Testabilidade Economia Flexibilidade Melhores práticas de desenvolvimento

Page 59: Palestra VRaptor 3

Obrigado!