2. 2
Sobre
● Atualmente é coordenador de desenvolvimento e projetos
na área de telecom;
● Entusiasta de metodologias ágeis Scrum, XP, Kanban e
desenvolvimento Web, HTML5 e noSQL;
● Certificações: SCJA, SCJP, SCEA, CSM, CSPO e CSD
● Fã de basquete, futebol e surf;
● Viciado em jogos (Halo, CoD, Skyrim, Assassins Creed)
keuller.magalhaes@gmail.com
4. 4
Introdução
●
É um full-stack framework Web
●
Uma alternativa ao desenvolvimento Web padrão JavaEE
●
Foco principal na simplicidade, produtividade e
escalabilidade de aplicações Web
●
Core do framework escrito em Scala/Java
●
Estrutura de URLs seguindo o padrão REST
●
Modelo de convenção sob configuração
●
Esquema de views dinâmico/compilado
●
Suporte a tecnologias emergentes (HTML5, WebSockets,etc)
5. 5
Introdução
●
Filosofia do framework:
– Produtividade com simplificadade
– Diversão
– Programação assíncrona
– Foco em tipagem forte
– Suporte nativo a Java e Scala
– Ferramenta de construção integrada (SBT)
– Integração entre o modelo e armazenamento de dados
14. Como posso ser Ágil de fato ?
Onde o Play! pode me ajudar ?
Quero desenvolver feliz ?
15. 15
Play! na Prática
●
KISS (Keep It Simple, Stupid)
●
CoC (Convension Over Configuration)
●
DRY (Don't Repeat Youself)
●
YAGNI (You Aren't Gonna Need It)
●
GRASP (General Responsibility Assignment Software Patterns)
●
SOLID (Single responsibility, Open-closed, Liskov substitution, Interface
segregation and Dependency inversion)
●
TDD (Test Driven Development)
Resumindo:
Qualidade com Agilidade!
16. 16
Play! na prática
HTTP
Routes
Cotroladores
Model ModelHTML XML JSON
● MVC
● Page Controller
● Separation of Concern
● DRY
● Active Record
● Low Coupling
● High Cohesion
● Single Responsability
● Interface segregation
● Dependency Inversion
● YAGNI
17. 17
Play! na Prática
●
Componentes Core do Play!
– Routes
Definem URLs para acessos aos controladores
– Controladores
Executam processamento das requisições HTTP
– Modelos
Representam modelos de dados
– Views
Representam as interfaces gráficas
18. 18
Demo
●
Formulário de Submissão de Palestras
●
Como obter o framework ?
– www.playframework.org
●
Baixar e descompactar
– Adicionar no classpath
19. 19
Demo
●
Criando Aplicação
$ play new jj2013
●
Acessando o console
$ play
●
Importando no Eclipse
$ eclipse [with-source=true]
●
Executando nossa Aplicação
$ ~ run [8080]
20. 20
Demo
●
Estrutura de uma Aplicação Play!
+ jj2013
+ app
+ controllers
+ models
+ views
+ conf
+ logs
+ project
+ public
+ css
+ images
+ javascripts
+ test
Recursos dinâmicos
Recursos estáticos
22. 22
Conclusão
●
Full stack web framework
●
Focado na arquitetura WOA
●
Escalabilidade (I/O não bloqueante)
●
Alta performance
●
Baseado na Convenção sob Configuração
●
Curva de aprendizado baixa
●
Não segue o padrão Web Java EE