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

Post on 05-Dec-2014

11.487 views 2 download

description

Apre

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

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

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

Quem somos

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

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

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!

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()

•  renderText()

•  renderXML()

•  renderJSON()

•  renderBinary()

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

Execute este comando no terminal

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

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!