Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

Apre

  • Login to see the comments

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

  1. 1. Play!Desenvolvendo aplicações Web com Java sem dor
  2. 2. 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
  3. 3. 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
  4. 4. 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)
  5. 5. 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.
  6. 6. 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
  7. 7. 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
  8. 8. Introdução àArquitetura MVC
  9. 9. Instalação •  Ambiente Windows / Linux / Mac •  JDK e JRE 5 ou superior •  Editor de Texto (notepad++, Textmate, Vim) •  IDE Java - Eclipse ou Netbeans (Opcional)
  10. 10. 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:
  11. 11. 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;
  12. 12. Testando a instalação
  13. 13. Testando a instalação
  14. 14. Criando e rodando uma aplicação
  15. 15. Criando a aplicação Rodando a aplicação
  16. 16. Estrutura das pastas
  17. 17. Configurando o projeto para as IDEs Utilizando o Eclipse Utilizando o NetBeans
  18. 18. Exemplo / Prática: Hello World
  19. 19. Definindo o banco de dados
  20. 20. Editando o arquivoconf/application.conf
  21. 21. Definindo o banco de dados para o uso do H2 File Stored
  22. 22. Gerenciando o banco de dados pelo Play!
  23. 23. Criando os Modelos
  24. 24. Selecionando itens do Modelo (JPA)
  25. 25. Salvando e Atualizando itens do Banco de Dados (JPA)
  26. 26. Executando Queries SQLdiretamente dentro do Play
  27. 27. Exemplo / Prática: Executando Queries SQLdiretamente dentro do Play!
  28. 28. Criando os Controllers
  29. 29. Funcionamento dos Controllers
  30. 30. 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
  31. 31. Controllers Annotations •  @Before - Antes da ação ser chamada
  32. 32. Controllers Annotations •  @After - Depois da ação ser chamada
  33. 33. Controllers Annotations •  @Finally - Depois da ação ser executada completamente
  34. 34. Tipos de Resultado -Controllers Response Result Types •  render() •  renderJSON() •  renderText() •  renderBinary() •  renderXML() •  redirect()
  35. 35. Definindo o layout da app Arquivo app/views/application.html
  36. 36. Criando as Views Arquivo app/views/application/index.html
  37. 37. Engine de Templates (Groovy) Expressões - ${...} Tags - #{...} Ações - @{...}
  38. 38. Engine de Templates (Groovy) Mensagens - {...} Comentários - *{...}* Scripts - %{...}%
  39. 39. Validações de campos Exemplo de validação básica
  40. 40. Validações de campos Exemplo de validação básica com mensagens personalizadas.
  41. 41. Validações de campos Exemplo de redirecionamento caso exista erros de validação.
  42. 42. Validações de campos Exemplo de visualização dos erros na view.
  43. 43. Instalando Módulos no Play!
  44. 44. Instalando o módulo PDF
  45. 45. 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
  46. 46. Exemplo de uso do módulo PDF
  47. 47. Colocando sua App em produção!
  48. 48. 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...
  49. 49. Preparando aplicação para o servidor de aplicação Execute este comando no terminal
  50. 50. 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
  51. 51. Dúvidas?
  52. 52. Para maiores informações sobre o Play! Framework http://www.playframework.orghttp://www.the-play-book.co.ukhttp://www.playframework.info
  53. 53. Confira o código das aplicações finalizadas em: http://github.com/grupoweblovers http://labs.grupoweblovers.org
  54. 54. Não deixem de se cadastrarem no nosso grupo de estudos! www.grupoweblovers.org
  55. 55. Obrigado!

×