SlideShare uma empresa Scribd logo
Play!
Desenvolvendo aplicações
 Web com Java sem dor
Quem somos	


 Allyson Barros - @allysonbarros	

 Graduando em Análise e Desenvolvimento de Sistemas - IFRN	

 Desenvolvedor Web desde 2006 - PHP / Delphi / Rails / Java / Node.JS	

 Líder do Grupo WebLovers - http://grupoweblovers.org	

 allysonbarrosrn@gmail.com - http://allysonbarros.me
Quem somos	


 Sedir Morais - @sedir_	

 Graduando em Análise e Desenvolvimento de Sistemas - IFRN	

 Evangelista do Play Framework no Rio Grande do Norte	

 Líder do Grupo WebLovers - http://grupoweblovers.org	

 philippi.sedir@gmail.com - http://sedir.me
Agenda	

•  Introdução / Visão geral 	

•  Instalação do Framework	

•  Criação e Configuração da Aplicação	

•  Criação de Controllers / Models / Views	

•  Instalação e Utilização de Módulos	

•  Deploy da Aplicação (Tomcat 6)
O que é?	

•  Alternativa limpa e eficiente para criação de
   aplicações web.	

•  Seu principal objetivo é facilitar ao máximo o
   desenvolvimento de aplicações web com Java.	

•  Visa a produtividade dos desenvolvedores.	

•  Solução perfeita para o desenvolvimento ágil de
   aplicações web.
Quais as vantagens?	

•  Limpo, Rápido e Dinâmico	

•  Produtivo, Poderoso e Divertido!	

•  Puro Java                                	

              (Permite a importação e uso de qualquer biblioteca Java)


•  Utiliza o sistema de template Groovy	

•  Utiliza sistemas de tradução de Rotas	

•  Facilidade na resolução de erros
Quais as vantagens?	

•  Assíncrono              	

                (I/O não bloqueante)


•  Stateless
           ( Share Nothing System )	



•  Arquitetura MVC / RESTful	

•  Persistência com JPA	

•  Extensível                   	

             (Através de Módulos / Bibliotecas Java)


•  TDD - Test Driven Development
Introdução à
Arquitetura MVC
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Instalação	

•  Ambiente Windows / Linux / Mac	

•  JDK e JRE 5 ou superior	

•  Editor de Texto (notepad++, Textmate,
  Vim)	

•  IDE Java - Eclipse ou Netbeans (Opcional)
Ambientes Linux e Mac	

•  Baixar o Framework	

•  Extrair para uma pasta desejada (Ex:	

 /opt/)
   (Recomendado dar permissão de execução no arquivo play )

•  Adicionar o caminho no $PATH;
   
   Dica: Editar o arquivo .bashrc ou .bash_profile e adicionar a linha a seguir:
Ambientes Windows	

•  Baixar o Framework               	



•  Extrair para uma pasta desejada (Ex: C:)
  (Recomendado extrair para C: ou diretórios sem espaços para evitar
                    	

  problemas futuros.)

•  Adicionar o caminho no $PATH;
Testando a instalação
Testando a instalação
Criando e rodando
  uma aplicação
Criando a aplicação	



Rodando a aplicação
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Estrutura das pastas
Configurando o projeto
    para as IDEs	

 Utilizando o Eclipse	





 Utilizando o NetBeans
Exemplo / Prática:
  Hello World
Definindo o banco
   de dados
Editando o arquivo
conf/application.conf
Definindo o banco de dados	

para o uso do H2 File Stored
Gerenciando o banco
 de dados pelo Play!
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Criando os Modelos
Selecionando itens
 do Modelo (JPA)
Salvando e Atualizando itens
 do Banco de Dados (JPA)
Executando Queries SQL
diretamente dentro do Play
Exemplo / Prática:	

 Executando Queries SQL
diretamente dentro do Play!
Criando os Controllers
Funcionamento dos
   Controllers
Interceptações -
Controllers Annotations	


•  @Before - Antes da ação ser chamada 	



•  @After - Depois da ação ser chamada	

•  @Finally - Depois da ação ser executada
  completamente
Controllers Annotations	

•  @Before - Antes da ação ser chamada
Controllers Annotations	

•  @After - Depois da ação ser chamada
Controllers Annotations	

•    @Finally - Depois da ação ser executada completamente
Tipos de Resultado -
Controllers Response Result Types	


•  render()	

        •  renderJSON()	

•  renderText() 	

   •  renderBinary()	

•  renderXML()	

     •  redirect()
Definindo o layout da app	





    Arquivo app/views/application.html
Criando as Views	





Arquivo app/views/application/index.html
Engine de Templates (Groovy)	

 Expressões - ${...}	




 Tags - #{...}	




 Ações - @{...}
Engine de Templates (Groovy)	

 Mensagens - {...}	




 Comentários - *{...}*	




 Scripts - %{...}%
Validações de campos	





   Exemplo de validação básica
Validações de campos	





Exemplo de validação básica com mensagens personalizadas.
Validações de campos	





Exemplo de redirecionamento caso exista erros de validação.
Validações de campos	





  Exemplo de visualização dos erros na view.
Instalando Módulos
       no Play!
Instalando o módulo PDF
Carregando o módulo PDF
     para a aplicação	


  Adicionar esta linha ao final do arquivo 	

      myapp/conf/dependencies.yml	





   Executar este comando no terminal
Exemplo de uso do 	

   módulo PDF
Colocando sua App
  em produção!
O que é um servidor de
          aplicação	

•  Publica aplicações web e responde a
  algumas questões comuns a todas as
  aplicações, como segurança, garantia de
  disponibilidade, balanceamento de carga e
  tratamento de exceções.	

•  Alguns servidores de aplicação são:
  Apache Tomcat, JBoss, Glassfish...
Preparando aplicação para o
   servidor de aplicação	



    Execute este comando no terminal
Instruções básicas para Tomcat	


•  Baixe o Tomcat 6 em http://tomcat.apache.org
  e instale-o. Note que a porta 8080 é a padrão.	

•  Coloque a pasta gerada
                      myapp-war na pasta
   webapps onde o Tomcat está instalado.	

•  Inicie o serviço Tomcat6 e rode sua aplicação
  em http://localhost:8080/myapp-war
Dúvidas?
Para maiores informações sobre o
        Play! Framework
                 
http://www.playframework.org
http://www.the-play-book.co.uk
http://www.playframework.info
Confira o código das aplicações
         finalizadas em:
                
http://github.com/grupoweblovers
 http://labs.grupoweblovers.org
Não deixem de se cadastrarem no
    nosso grupo de estudos!
               
  www.grupoweblovers.org
Obrigado!

Mais conteúdo relacionado

Mais procurados (20)

PDF
Java Web Fácil com VRaptor
Frederico Maia Arantes
 
PDF
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
Yelken Heckman Ferreira Gonzales
 
PDF
JavaFX 1.2
Raphael Marques
 
PDF
JSF - JavaServer Faces
netinhoteixeira
 
PDF
JSF com Primefaces
Fabio Noth
 
PDF
Java Web - MVC básico com JSP e Servlets
Eduardo Mendes
 
PPTX
Introdução a jsf
Jorge William Rodrigues
 
PDF
Desenvolvimento Web com CakePHP
Sérgio Vilar
 
PDF
Construindo aplicações web java com netbeans
Sliedesharessbarbosa
 
PDF
Apresentação jsf 1_2
Bruno de Andrade
 
PDF
As grandes novidades do JSF 2.0!
Diego Santos
 
PDF
Java 8 - A Evolução da Linguagem
Petronio Candido
 
PPT
JavaServer Faces Produtividade em Desenvolvimento
Eduardo Bregaida
 
PPTX
Arquitetura do Framework Spring
Alexsandro Oliveira
 
PDF
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Thiago Sinésio
 
PDF
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dr. Spock
 
PDF
Apresentação Java Web - Jsf+Hibernate
Zarathon Maia
 
PDF
Novidades do JSF: Um tour completo no JSF 2.2
Dr. Spock
 
PPTX
Maven em 10 minutos
Rodrigo Branas
 
PPTX
O framework spring
Bruno Catão
 
Java Web Fácil com VRaptor
Frederico Maia Arantes
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
Yelken Heckman Ferreira Gonzales
 
JavaFX 1.2
Raphael Marques
 
JSF - JavaServer Faces
netinhoteixeira
 
JSF com Primefaces
Fabio Noth
 
Java Web - MVC básico com JSP e Servlets
Eduardo Mendes
 
Introdução a jsf
Jorge William Rodrigues
 
Desenvolvimento Web com CakePHP
Sérgio Vilar
 
Construindo aplicações web java com netbeans
Sliedesharessbarbosa
 
Apresentação jsf 1_2
Bruno de Andrade
 
As grandes novidades do JSF 2.0!
Diego Santos
 
Java 8 - A Evolução da Linguagem
Petronio Candido
 
JavaServer Faces Produtividade em Desenvolvimento
Eduardo Bregaida
 
Arquitetura do Framework Spring
Alexsandro Oliveira
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Thiago Sinésio
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dr. Spock
 
Apresentação Java Web - Jsf+Hibernate
Zarathon Maia
 
Novidades do JSF: Um tour completo no JSF 2.2
Dr. Spock
 
Maven em 10 minutos
Rodrigo Branas
 
O framework spring
Bruno Catão
 

Destaque (13)

PDF
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
Allyson Barros
 
PPT
Produtividade com JavaServer Faces
Eduardo Bregaida
 
PDF
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
thalesboss
 
PPT
11601快訊新聞五則
beelinelmn
 
PDF
Introdução ao JavaServer Faces
Willian Watanabe
 
PPTX
Curso jsf
jornaljava
 
PDF
Desenvolvimento Web com JSF
Dalton Valadares
 
PDF
Framework web 3 - JSF + Spring boot
André Luiz Forchesatto
 
PDF
Apostila jsf
Fernanda Diego
 
PDF
Apostila JSF 2.0 - K19
K19 Treinamentos
 
PDF
Caelum java-testes-jsf-web-services-design-patterns-fj22
Moisés Moura
 
PDF
JavaServer Faces - Desenvolvendo aplicações web com produtividade
Rafael Ponte
 
PDF
Boas Práticas com JavaServer Faces (Jsf)
Rafael Ponte
 
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS DA...
Allyson Barros
 
Produtividade com JavaServer Faces
Eduardo Bregaida
 
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
thalesboss
 
11601快訊新聞五則
beelinelmn
 
Introdução ao JavaServer Faces
Willian Watanabe
 
Curso jsf
jornaljava
 
Desenvolvimento Web com JSF
Dalton Valadares
 
Framework web 3 - JSF + Spring boot
André Luiz Forchesatto
 
Apostila jsf
Fernanda Diego
 
Apostila JSF 2.0 - K19
K19 Treinamentos
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Moisés Moura
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
Rafael Ponte
 
Boas Práticas com JavaServer Faces (Jsf)
Rafael Ponte
 
Anúncio

Semelhante a Play Framework - Desenvolvendo Aplicações Web com Java sem Dor (20)

PDF
Material - Play! Framework - UERN - Aula 01
Allyson Barros
 
PPTX
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Daniel Makiyama
 
PPT
Cake Php
Laura Lopes
 
PPTX
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Alexandre Tarifa
 
PPT
Aula1
fkimura
 
PPT
Java Web Dev Introdução
Marcio Marinho
 
PPT
Introdução à Programação “para Web” - Carlos Bazilio
RicardoKratz2
 
PPT
Introdução à Programação “para Web” de Carlos Bazilio
RicardoKratz2
 
PPT
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Arlindo Santos
 
PPTX
Instalacao eclipse-servidor-tomcat
Clayton de Almeida Souza
 
PDF
Framework web 01 - Aula UTFPR 2018
André Luiz Forchesatto
 
PPTX
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
PDF
Desenvolvimento Web Avançado usando PHP
elliando dias
 
PPTX
Palestra
Italo Lelis de Vietro
 
PPTX
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Renato Groff
 
PPT
Java Seminar
armeniocardoso
 
PDF
Manual
Jose Moniz
 
PDF
Introdução à Programação Web com Angular
Elmano Cavalcanti
 
PPTX
01 introducao ao java
Artur Todeschini
 
PPTX
Tutorial de instalação do Maven
Allan Alves
 
Material - Play! Framework - UERN - Aula 01
Allyson Barros
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Daniel Makiyama
 
Cake Php
Laura Lopes
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Alexandre Tarifa
 
Aula1
fkimura
 
Java Web Dev Introdução
Marcio Marinho
 
Introdução à Programação “para Web” - Carlos Bazilio
RicardoKratz2
 
Introdução à Programação “para Web” de Carlos Bazilio
RicardoKratz2
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Arlindo Santos
 
Instalacao eclipse-servidor-tomcat
Clayton de Almeida Souza
 
Framework web 01 - Aula UTFPR 2018
André Luiz Forchesatto
 
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
Desenvolvimento Web Avançado usando PHP
elliando dias
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Se...
Renato Groff
 
Java Seminar
armeniocardoso
 
Manual
Jose Moniz
 
Introdução à Programação Web com Angular
Elmano Cavalcanti
 
01 introducao ao java
Artur Todeschini
 
Tutorial de instalação do Maven
Allan Alves
 
Anúncio

Mais de Allyson Barros (10)

PDF
Apresentação SUAP - 13 de Novembro de 2017
Allyson Barros
 
PDF
Palestra - Poticon 2017
Allyson Barros
 
PDF
Apresentação - SUAP - CNAT 13/05/2016
Allyson Barros
 
PDF
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
Allyson Barros
 
PDF
Apresentação sobre a COSINF
Allyson Barros
 
PDF
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
Allyson Barros
 
PDF
Potigolcode
Allyson Barros
 
PDF
Apresentação - Cache / Snippets - Ratts Comunicação
Allyson Barros
 
PDF
Material - Play! Framework - UERN - Aula 03
Allyson Barros
 
PDF
Material - Play! Framework - UERN - Aula 02
Allyson Barros
 
Apresentação SUAP - 13 de Novembro de 2017
Allyson Barros
 
Palestra - Poticon 2017
Allyson Barros
 
Apresentação - SUAP - CNAT 13/05/2016
Allyson Barros
 
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
Allyson Barros
 
Apresentação sobre a COSINF
Allyson Barros
 
POTIGOLCODE: AMBIENTE DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO ATRAVÉS...
Allyson Barros
 
Potigolcode
Allyson Barros
 
Apresentação - Cache / Snippets - Ratts Comunicação
Allyson Barros
 
Material - Play! Framework - UERN - Aula 03
Allyson Barros
 
Material - Play! Framework - UERN - Aula 02
Allyson Barros
 

Último (6)

PPTX
Windows 11 Apostila do Básico ao Avançado
deividcosimo1
 
PDF
Zeebo: Uma brevíssima introdução. - David Glotz
BluePanther6
 
PDF
IA - Grupo J.pdf para trabalho de inteligencia artificial
juanaraujo139815
 
PDF
11 Roberto.pdf astronomia e astronautica
henzoa798
 
PDF
Aulas Extras - O que é e por que Aprender e Utilizar.pdf
fmartinsss
 
PDF
Ceritificado Imersão SOC HackOne Sab/Dom.pdf
RodrigoMori7
 
Windows 11 Apostila do Básico ao Avançado
deividcosimo1
 
Zeebo: Uma brevíssima introdução. - David Glotz
BluePanther6
 
IA - Grupo J.pdf para trabalho de inteligencia artificial
juanaraujo139815
 
11 Roberto.pdf astronomia e astronautica
henzoa798
 
Aulas Extras - O que é e por que Aprender e Utilizar.pdf
fmartinsss
 
Ceritificado Imersão SOC HackOne Sab/Dom.pdf
RodrigoMori7
 

Play Framework - Desenvolvendo Aplicações Web com Java sem Dor

Notas do Editor