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

59
Play! Desenvolvendo aplicações Web com Java sem dor

description

Apre

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

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

Play!���Desenvolvendo aplicações

Web com Java sem dor

Page 2: Play Framework - 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 [email protected] - http://allysonbarros.me

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

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

[email protected] - http://sedir.me

Quem somos

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

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)

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

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.

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

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

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

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

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

Introdução à Arquitetura MVC

Page 9: Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Page 10: 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)

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

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:

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

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;

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

Testando a instalação

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

Testando a instalação

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

Criando e rodando uma aplicação

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

Criando a aplicação

Rodando a aplicação

Page 17: Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Page 18: Play Framework - Desenvolvendo Aplicações Web com Java sem Dor

Estrutura das pastas

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

Configurando o projeto para as IDEs

Utilizando o Eclipse

Utilizando o NetBeans

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

Exemplo / Prática: ���Hello World

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

Definindo o banco de dados

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

Editando o arquivo conf/application.conf

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

Definindo o banco de dados para o uso do H2 File Stored

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

Gerenciando o banco de dados pelo Play!

Page 25: Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Page 26: Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Page 27: Play Framework - Desenvolvendo Aplicações Web com Java sem Dor

Criando os Modelos

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

Selecionando itens do Modelo (JPA)

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

Salvando e Atualizando itens do Banco de Dados (JPA)

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

Executando Queries SQL diretamente dentro do Play

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

Exemplo / Prática: Executando Queries SQL

diretamente dentro do Play!

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

Criando os Controllers

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

Funcionamento dos Controllers

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

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

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

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

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

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

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

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

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

Tipos de Resultado - Controllers Response Result Types

•  render()

•  renderText()

•  renderXML()

•  renderJSON()

•  renderBinary()

•  redirect()

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

Definindo o layout da app

Arquivo app/views/application.html

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

Criando as Views

Arquivo app/views/application/index.html

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

Engine de Templates (Groovy) Expressões - ${...}

Tags - #{...}

Ações - @{...}

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

Engine de Templates (Groovy) Mensagens - &{...}

Comentários - *{...}*

Scripts - %{...}%

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

Validações de campos

Exemplo de validação básica

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

Validações de campos

Exemplo de validação básica com mensagens personalizadas.

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

Validações de campos

Exemplo de redirecionamento caso exista erros de validação.

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

Validações de campos

Exemplo de visualização dos erros na view.

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

Instalando Módulos no Play!

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

Instalando o módulo PDF

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

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

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

Exemplo de uso do módulo PDF

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

Colocando sua App em produção!

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

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...

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

Execute este comando no terminal

Preparando aplicação para o servidor de aplicação

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

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

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

Dúvidas?

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

Para maiores informações sobre o Play! Framework���

���http://www.playframework.org���http://www.the-play-book.co.uk ���http://www.playframework.info

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

Confira o código das aplicações finalizadas em: ���

���http://github.com/grupoweblovers���http://labs.grupoweblovers.org

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

Não deixem de se cadastrarem no nosso grupo de estudos!���

���www.grupoweblovers.org

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

Obrigado!