palestra vraptor 3
TRANSCRIPT
Desenvolvimento web ágil com VRaptor 3
Romero Meireles
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
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
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
Primeiro contato
Primeiro contato
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
Primeiro contato
Primeiro contato
Primeiro contato
Primeiro contato
Primeiro contato
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
Injeção de dependências Quais são minhas dependências?
Quem instanciará as classes?
Como o Vraptor sabe disso?
Injeção de dependências
Injeção de dependências
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
Enviando dados via form
Enviando dados via form
Enviando dados via form
Enviando dados via form
Enviando dados via form
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
Escopos definidos @RequestScoped (padrão)
@SessionScoped
@ApplicationScoped
@PrototypeScoped
Escopos definidos @PostConstruct: assim que o escopo for
iniciado
@PreDestroy: assim que o escopo for finalizado
Escopos definidos
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
Validação Componente Validator do VRaptor Maneira clássica Maneira fluente Integração com o Hibernate Validator Especificar para qual lógica encaminhar
Validação - clássica
Validação - clássica
Validação - fluente
Validação - fluente
Validação - fluente
Validação - fluente
Validação – Hibernate Validator
Validador do VRaptor integrado com o Hibernate Validator
Validação – Hibernate Validator
Validação – Hibernate Validator
Validação – exibição dos erros
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
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
Triângulo REST
Substantivos
Verbos
Content types
REST – Substantivos: recursos
URI (Unified Resource Identifier)
Nome dos recursos
Recursos != Ações
Má prática: /produto/adiciona
REST - Verbos Conjunto pequeno e fixo de operações Interface uniforme Operações HTTP:
› Get, Post, Put, › Delete, Head, Options, Trace
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
REST - Verbos
REST - Verbos
REST - Verbos
REST - Verbos
REST - Verbos (ex.: PUT)
REST - Verbos (ex.: PUT)
REST - Verbos (ex.: PUT)
REST - Verbos (ex.: PUT)
REST - Verbos (ex.: PUT)
REST - Verbos (ex.: Delete)
REST - Verbos (ex.: Delete)
REST - Verbos (ex.: Delete)
Path com expressões regulares
Por que usar VRaptor? Alta produtividade Curva de aprendizado Testabilidade Economia Flexibilidade Melhores práticas de desenvolvimento
Obrigado!