Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Play Framework Java para web sem Servlets e com diversão

    Fernando Boaglio
    Livro de Play Framework

    *Você terá acesso às futuras atualizações do livro.

    Capa

    Play Framework

    Agradecimentos

    Agradeço a você por querer aprender mais, à minha esposa por sempre estar ao meu lado, aos meus pais e a Deus por tudo.

    E segue o jogo!

    Sobre o autor

    Formado pela UNESP em BCC, foi instrutor oficial da Sun Microsystems e da Oracle Education. Atualmente contribui para alguns projetos open source, como KDE, Jenkins entre outros.

    Prefácio

    O melhor presente que se dá é aquele que você gostaria de ganhar.

    Esse é o livro que eu gostaria de ler quando estava começando a usar o Play Framework, ele é o meu presente para você, aproveite!

     

    Público alvo

     

    Esse livro foi feito para programadores Java (iniciantes e veteranos) que buscam pelo desenvolvimento rápido e divertido de aplicações web.

     

    Quickstart – a primeira parte do livro

     

    Para rapidamente configurar o seu ambiente de desenvolvimento, disponibilizar a sua aplicação bonita, acessando banco de dados e publicando na nuvem não será preciso ler todos os capítulos, apenas os quatro primeiros.

     

    Melhorando sua aplicação – a segunda parte do livro

     

    Os capítulos restantes complementam a sua aplicação com a criação de serviços, autenticação e o uso de alguns plugins imperdíveis para o seu sistema.

     

    Código fonte

     

    O código fonte desse livro está disponível no endereço https://github.com/boaglio/play2-casadocodigo, onde foram criadas tags para cada um dos capítulos, para facilitar a compreensão da evolução do nosso sistema de filmes cult.

    Sumário

    • 1 - Hello Play Java e Hello Play Scala
      • 1.1 - O que é o Play
      • 1.2 - O que não é o Play
      • 1.3 - Instalação do Play
      • 1.4 - Sua primeira aplicação Java
      • 1.5 - A estrutura da aplicação Play
      • 1.6 - Subindo sua aplicação Play
      • 1.7 - Olá Scala
      • 1.8 - Preciso saber Scala?
      • 1.9 - Próximos passos
    • 2 - Navegando com estilo
      • 2.1 - Bem-vindo ao Eclipse
      • 2.2 - Navegação
      • 2.3 - Adicionando estilo
      • 2.4 - Organizando as páginas
      • 2.5 - Próximos passos
    • 3 - Persistindo seus dados
      • 3.1 - Próximos passos
    • 4 - Publicando em qualquer lugar
      • 4.1 - Rede local
      • 4.2 - Servidor Java EE
      • 4.3 - Deploy na nuvem
      • 4.4 - Próximos passos
    • 5 - Melhorando o input do usuário
      • 5.1 - Isolando mensagens
      • 5.2 - Tratando erros
      • 5.3 - Páginas customizadas
      • 5.4 - Próximos passos
    • 6 - Criando serviços
      • 6.1 - Acessando serviço via web
      • 6.2 - Debugando pelo Eclipse
      • 6.3 - Acessando serviço via mobile
      • 6.4 - Próximos passos
    • 7 - Integrando nas redes sociais
      • 7.1 - Criando uma aplicação no Facebook
      • 7.2 - Integração via JavaScript
      • 7.3 - Integração via SecureSocial
      • 7.4 - Próximos passos
    • 8 - Melhorias na aplicação
      • 8.1 - Configurando HTTPS
      • 8.2 - Lendo constantes globais
      • 8.3 - Upload de imagem
      • 8.4 - Testando sua aplicação
      • 8.5 - Próximos passos
    • 9 - Continue seus estudos
      • 9.1 - Para saber mais
    • 10 - Apêndice A - Play console em detalhes
      • 11 - Apêndice B - Instalação e configuração do PostgreSQL
        • 12 - Apêndice C - Instalação e configuração do Android
          Capítulo1

          Hello Play Java e Hello Play Scala

          1.1 - O que é o Play

          O Play é um framework que redefine o desenvolvimento web em Java. O seu foco é o divertido desenvolvimento no qual a interface HTTP é algo simples, flexível e poderoso, sendo uma alternativa limpa para as opções Enterprise Java infladas. Ele foca na produtividade do desenvolvedor para as arquiteturas RESTful, e sua vantagem em relação às linguagens e frameworks não Java, como Rails e PHP, é que ele usufriu de todo o poder da Java Virtual Machine (JVM).

          1.2 - O que não é o Play

          O Play não é um framework padrão Java EE, como Spring, Struts ou VRaptor – ele usa uma arquitetura extremamente simples.

          Uma aplicação JSF roda sobre a API de Servlet, que por sua vez roda em um container Java EE, que fica dentro de um HTTP Server.

          Perceba que todo desenvolvedor é obrigado a trabalhar com essas quatro camadas. Já com o Play, temos apenas duas: o próprio Play framework e o seu HTTP server embutido (Netty).

          Além disso, ele não é apenas um framework web, ele é uma solução completa que envolve persistência e muito mais recursos, como:

          • Servidor HTTP integrado;
          • Acesso completo à interface HTTP;
          • API de serviços REST;
          • Código cujas mudanças é possível testar com um simples reload de página;
          • Engine de template de alta performance;
          • Permitir que sua aplicação funcione para vários idiomas;
          • Compilação dos arquivos estáticos de sua aplicação;
          • Suporte a I/O assíncrono;
          • Validação HTML do input do usuário;
          • Cache integrado;
          • Sistema de build próprio e integrado (sbt);
          • Plataforma akka criada para ambiente distribuído e à prova de falhas;
          • Persistência de dados.

          Confira a visão geral do Play na figura *

          Play framework stack
          Figura 1.1: Play framework stack


          1.3 - Instalação do Play

          A instalação do Play é bem simples e feita em apenas dois passos. O primeiro deles é fazer o download do site http://www.playframework.org. Depois disso, faça o ajuste conforme o seu sistema operacional.

           

          Instalação no Windows

           

          Descompacte o pacote na raiz e renomeie o diretório compactado para play. Exemplo: o arquivo play-2.2.1.zip criará o diretório C:\play-2.2.1\. Renomeie-o para C:\play\.

          Variável de ambiente no Windows
          Figura 1.2: Variável de ambiente no Windows


          Edite a variável PATH conforme a figura *, adicionando no final do PATH o valor de ;C:\play\.

          Atrás de um proxy

          Se sua internet estiver atrás de um proxy, altere o arquivo C:\play\framework\build.bat na linha de comando Java e adicione os parâmetros:

          -Dhttp.proxyUser=<meu-usuario> 
          -Dhttp.proxyPassword=<minha-senha> 
          -Dhttp.proxyHost=<servidor> 
          -Dhttp.proxyPort=<porta>
          

          Caso seja lançada uma atualização do Play, e você queira atualizar, renomeie o diretório C:\play\ para C:\play-old\ e descompacte a nova versão em C:\play\.

           

          Instalação em Linux

           

          Descompacte o pacote na raiz, por exemplo: /home/fb/play-2.2.1/, e crie um link simbólico para esse diretório chamado play, como:

          ln -s /home/fb/play-2.2.1/  /home/fb/play
          

          Caso haja uma atualização, descompacte a nova versão e atualize o link simbólico para o novo diretório.

          Adicione no arquivo $HOME/.bashrc ou em $HOME/.bash_profile o comando: export PATH=$PATH:$HOME/play/.

           

          Instalação em Mac OSX

           

          Descompacte o pacote na raiz, por exemplo: /home/fb/play-2.2.1/, e crie um link simbólico para esse diretório chamado play, como:

          ln -s /home/fb/play-2.2.1/  /home/fb/play
          

          Adicione no arquivo /etc/paths o diretório $HOME/play/.

          Em uma eventual atualização, descompacte a nova versão e atualize o link simbólico para o novo diretório.

          Se preferir usar o Homebrew, apenas rode o comando brew install play.

           

          Testando sua instalação

           

          Depois de configurado, abra o console do seu sistema operacional e digite play help. O resultado esperado está na figura *.

          Instalação do Play com sucesso no Windows
          Figura 1.3: Instalação do Play com sucesso no Windows


          Pronto! Agora que o Play está instalado, podemos começar a nossa primeira aplicação!

          1.4 - Sua primeira aplicação Java

          Para criar a nossa primeira aplicação, é só digitar play new <nome-da-aplicação>:

          fb@cascao ~/workspace-play > play new play-java
                 _
           _ __ | | __ _ _  _
          | '_ \| |/ _' | || |
          |  __/|_|\____|\__ /
          |_|            |__/
          
          play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51), 
          http://www.playframework.com
          
          The new application will be created in /home/fb/workspace-play/
          play-java
          
          What is the application name? [play-java]
          >
          

          Depois escolha a opção 2, que vai criar uma aplicação Play Java:

          Which template do you want to use for this new application? 
          
            1             - Create a simple Scala application
            2             - Create a simple Java application
          
          > 2
          OK, application play-java is created.
          
          Have fun!
          
          fb@cascao ~/workspace-play >
          

          E pronto, sua aplicação está criada!

          1.5 - A estrutura da aplicação Play

          Vamos apenas olhar o que foi criado, sem muitos detalhes:

          .
          |-- app                            (arquivos Java da aplicação)
          |   |-- controllers
          |   |   `-- Application.java   
          |   `-- views
          |       |-- index.scala.html
          |       `-- main.scala.html
          |-- build.sbt
          |-- conf                           (arquivos de configuração)
          |   |-- application.conf
          |   `-- routes
          |-- project
          |   |-- build.properties
          |   `-- plugins.sbt
          |-- public                         (arquivos estáticos)
          |   |-- images
          |   |   `-- favicon.png
          |   |-- javascripts
          |   |   `-- jquery-1.9.0.min.js
          |   `-- stylesheets
          |       `-- main.css
          |-- README
          `-- test                           (arquivos para testes)
              |-- ApplicationTest.java
              `-- IntegrationTest.java
          

          1.6 - Subindo sua aplicação Play

          A administração de sua aplicação é feita pelo play console, que possui diversos comandos de gerenciamento.

          Para chamar o console, dentro do diretório criado na sua aplicação digite play, e depois o comando run para subir.

          fb@cascao ~/workspace-play/play-java > play
          [info] Loading project definition from 
          /home/fb/workspace-play/play-java/project
          [info] Set current project to play-java (in build 
          file:/home/fb/workspace-play/play-java/)
                 _
           _ __ | | __ _ _  _
          | '_ \| |/ _' | || |
          |  __/|_|\____|\__ /
          |_|            |__/
          
          play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51), 
          http://www.playframework.com
          
          > Type "help play" or "license" for more information.
          > Type "exit" or use Ctrl+D to leave this console.
          
          [play-java] $ run
          [info] Updating {file:/home/fb/workspace-play/play-java/
          }play-java...
          [info] Resolving org.fusesource.jansi#jansi;1.4 ...
          [info] Done updating.
          
          --- (Running the application from SBT, auto-reloading is 
          enabled) ---
          
          [info] play - Listening for HTTP on /0.0.0.0:9000
          
          (Server started, use Ctrl+D to stop and go back to the 
          console...)
          

          Em seguida, é possível acessar a aplicação através do browser pelo endereço http://localhost:9000/, obtendo um resultado semelhante à figura *.

          Rodando Play
          Figura 1.4: Rodando Play


          Para derrubar o servidor, tecle Control+D e, para sair do play console, digite exit.

          1.7 - Olá Scala

          Durante o livro, vamos focar no Java, mas criar e rodar uma aplicação em Scala é parecido:

          fb@cascao ~/workspace-play > play new play-scala
                 _
           _ __ | | __ _ _  _
          | '_ \| |/ _' | || |
          |  __/|_|\____|\__ /
          |_|            |__/
          
          play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51), 
          http://www.playframework.com
          
          The new application will be created in /home/fb/workspace-play/
          play-scala
          
          What is the application name? [play-scala]
          >
          

          Depois selecione a opção 1, que vai criar uma aplicação Play Scala:

          Which template do you want to use for this new application? 
          
            1             - Create a simple Scala application
            2             - Create a simple Java application
          
          > 1
          OK, application play-scala is created.
          
          Have fun!
          
          fb@cascao ~/workspace-play > cd play-scala/
          fb@cascao ~/workspace-play/play-scala > play
          [info] Loading project definition from 
          /home/fb/workspace-play/play-scala/project
          [info] Set current project to play-scala 
          (in build file:/home/fb/workspace-play/play-scala/)
                 _
           _ __ | | __ _ _  _
          | '_ \| |/ _' | || |
          |  __/|_|\____|\__ /
          |_|            |__/
          
          play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51), 
          http://www.playframework.com
          
          > Type "help play" or "license" for more information.
          > Type "exit" or use Ctrl+D to leave this console.
          
          [play-scala] $ run
          [info] Updating {file:/home/fb/workspace-play/play-scala/
          }play-scala...
          [info] Resolving org.fusesource.jansi#jansi;1.4 ...
          [info] Done updating.
          
          --- (Running the application from SBT, auto-reloading is 
          enabled) ---
          
          [info] play - Listening for HTTP on /0.0.0.0:9000
          
          (Server started, use Ctrl+D to stop and go back to the 
          console...)
          
          [info] Compiling 5 Scala sources and 1 Java source to
           /home/fb/workspace-play/play-scala/target/scala-2.10/classes...
          [info] play - Application started (Dev)
          

          O resultado também é semelhante à figura *.

          Rodando Play
          Figura 1.5: Rodando Play


          1.8 - Preciso saber Scala?

          Felizmente não. O core do Play 2 é feito em Scala, mas ele é perfeito para Java, pois podemos trabalhar com ele sem aprender uma nova linguagem e ambos usam a nossa querida JVM.

          1.9 - Próximos passos

          Certifique-se de que aprendeu:

          • visão geral do Play Framework;
          • como instalar o Play;
          • como criar sua primeira aplicação em Java e Scala.

          Agora que já molhamos os pés, nos próximos capítulos vamos aprender a nadar criando o primeiro CRUD.

          Dados do produto

          Número de páginas:
          147
          ISBN:
          978-85-66250-42-8
          Data publicação:
          02/2014
          Fórum de discussões

          Compartilhe!

          Compartilhe no Facebook Compartilhe no Twitter

          *Você terá acesso às futuras atualizações do livro.

          altLogoFooter

          Links da
          Casa do Código

          • Meus ebooks
          • Sobre a Casa do Código
          • Todos os livros
          • Nossas coleções
          • Quero escrever um livro ou fazer parceria
          • Perguntas Frequentes
          • Política de Privacidade
          • Fale conosco

          Nas redes sociais

          • /CasaDoCodigo
          • @casadocodigo
          • @casadocodigo

          Receba novidades e lançamentos

          Este site aceita Pix, Cartão de Crédito, Débito

          • pagarme
          • paypal

          Grupo Alura

          • Educação em Tecnologia

            • FIAP
            • Casa do Código
            • PM3 - Cursos de Produto
          • Mais Alura

            • Alura Start
            • Alura Língua
            • Alura Para Empresas
            • Alura LATAM
          • Comunidade

            • Tech Guide
            • 7 days of code
            • Hipsters ponto Jobs
          • Podcasts

            • Hipsters ponto Tech
            • Dev sem Fronteiras
            • Layers ponto Tech
            • Like a Boss
            • Scuba Dev