Criando Web Application usando Play Framework


Olá,

Nesta post estarei mostrando como poderemos criar um Web Application utilizando o Play Framework. 



Play Framework facilita a construção de aplicações web com Java e Scala.  O Play é baseado em lightweightstateless e arquitetura web-friendly leve. 
Construído sobre Akka, jogo fornece o consumo de recursos previsíveis e mínima (CPU, memória, threads) para aplicações altamente escaláveis.
Neste exemplo tenha instalado em sua máquina:  1. IntelliJ IDEA  2. Java 1.7 (ou o mais atual)  3. Git Bash (para fazer clone do nosso projeto final, se desejar) 

IntelliJ IDEA, tem infinitas ferramentas de desenvolvimento em JAVA. Aqui utilizaremos o Framework Play. Observe que aqui não estarei explicando como funciona cada camada do framework, portando cabe a você estudar o framework no link passado acima. 

Steps: 
  1. Criar um App Play 
  1. Configurar o Build.sbt 
  1. Configurar a camada de persistência 
  1. Criar a camada genérica 
  1. Editar o Application.conf 
  1. Inicie pelos Testes 
  1. Crie as Views 
  1. Crie seus Models 
  1. Implemente sua Controller(s) 
  1. Rode sua Aplicação (localhost:9000) 


1Criar um App Play 


Entre no IntelliJ, e crie uma nova aplicação Web usando Play, de acordo como está na imagem acima. Em seguida, dê um nome para a sua aplicação. Eu a chamei de webapp, sinta-se livre. 



2Configurar o Build.sbt 



Eu estarei utilizando a build do código acima, porém é uma tarefa muito simples. Basta trocar o libraryDependencies por este codigo aqui: 

libraryDependencies ++= SeqjavaJdbc, cache, javaJpa, "org.apache.directory.api" % "api-all" % "1.0.0-M14", "postgresql" % "postgresql" % "9.1-901-1.jdbc4", "org.hibernate" % "hibernate-core" % "4.2.3.Final", "org.hibernate" % "hibernate-entitymanager" % "4.2.3.Final" )  

3. Configurar a camada de persistência 

No código de exemplo lá no link acima, temos uma pasta chamada META-INF. Copie ela para dentro da pasta conf. 



4. Criar a camada genérica 

Antes de tudo, crie a pasta Models dentro do diretório app. 


Aqui vamos criar a unidade que fará as requisições ao banco de dados. Esta é a camada genérica, e a ela chamei de GenericDAO (é uma classe java). 



5. Editar o Application.conf 

Neste momento vamos configurar nossa apĺicação para ser emulada localmente em nossa máquina (localhost).  Para isso abra o documento application.conf localizado na pasta conf, e insira as seguintes linhas: 
jpa.default=h2PersistenceUnit db.default.driver=org.h2.Driver db.default.url="jdbc:h2:mem:play" db.default.jndiName=DefaultDS ebean.default="models.*"  
Observe a imagem: 



6. Inicie pelos Testes 
Minha dica inicial é: "Inicie sempre pelos testes!"  Implementando testes de comportamento da sua aplicação, você cria uma garantia de que os controles estão seguros. Portanto, sempre inicie por aqui. No link do GitHub, temos implementado testes para nossa simples aplicação e lá você pode se basear. Tenha criatividade nos testes, e garanta uma qualidade para sua aplicação. 
Em nossa aplicação vamos criar um Gerenciador de Tarefas Aqui vai ser possível realizar o CRUD básico de uma Task Perceba aqui que já temos um model a criar, e views a pensar, portanto, use isto para implementar os testes de comportamento da sua aplicação. 

7. Crie as Views 
Sinta-se livre para criar suas views. Lembre-se que o formato dos arquivos são: $nomedoarquivo.scala.html .  e todos os templates iniciam com : @(variavelString Essa variável pode ser um List[T] também, lembre-se, esses são comandos em Scala, portanto, estude também essa linguagem para utilizar nas views. (é muito fácil). 
Observe um exemplo qualquer: 



8. Crie seus Models 

Vamos então criar nossos ModelsAtividade 
Nao se esqueça de Annotations. Observe a imagem. 




9. Implemente sua Controller(s) 

Feito o model, vamos implementar um manager que fará as transações no banco de dados, e com isso será usado pelo controller 

Chamei meu manager de Sistema, porém sinta-se livre para nomeá-lo. 
Agora implemente seu Application.java Controller, que fará a comunicação das views com o back-end. 



Em seguida, configure suas rotas!  


A primeira coisa a se fazer é fazer o App Servidor identificar o cssjs, e outros que estão na pasta public. Para isso insira no lugar do get files lá que vem default: 


GET /assets/*file controllers.Assets.at(path="/public/assets/", file)  
Em routes vc adiciona as rotas que irá chamar nas views. Veja exemplo: 


Depois das rotas configuradas, e nas views tudo funcionando corretamente.  Next Step! 

10. Rode sua Aplicação (localhost:9000) 






Para você compreender a qualidade do framework, tenho outros apps feitos e online.  


Eles estão hospedados no HEROKU, uma plataforma tipo PaaS que oferece suporte para aplicações feitas em Java e Scala, ou seja, Play Framework, e contudo, no próximo post estarei explicando como faremos DEPLOY de uma aplicação Java no Heroku. 

Comentários

Postagens mais visitadas deste blog

Como criar uma branch e salvá-la no github?

Criando serviço de login com Appery.io