SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Desenvolvimento Ágil com
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
3
Agenda
●
Introdução
●
Play! no Mundo
●
Casos Reais
●
Play! Na Prática
●
Demo
●
Conclusão
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
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
6
Play! No Mundo
Empresas ao redor do mundo utilizando Play!
7
Play! No Mundo
Estatísticas de Pesquisa no Google Trends! Jun/2013
8
Play! No Mundo
Pesquisa no Google Trends! Jun/2013
9
Casos Reais
10
Cases Reais
●
Cooperativa de Pesca
11
Cases Reais
●
Cooperativa de Pesca
12
Cases Reais
●
ERP Escolar
13
Cases Reais
●
Gestão Financeira de Projetos
Como posso ser Ágil de fato ?
Onde o Play! pode me ajudar ?
Quero desenvolver feliz ?
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
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
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
Demo
●
Formulário de Submissão de Palestras
●
Como obter o framework ?
– www.playframework.org
●
Baixar e descompactar
– Adicionar no classpath
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
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
21
Demo
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
23
Q&A
Entenderam tudo ?

Mais conteúdo relacionado

Mais procurados

JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAYelken Heckman Ferreira Gonzales
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
SQLCLR: Transformando o SQL Server em algo muito além de um banco de dados
SQLCLR: Transformando o SQL Server em algo muito além de um banco de dadosSQLCLR: Transformando o SQL Server em algo muito além de um banco de dados
SQLCLR: Transformando o SQL Server em algo muito além de um banco de dadosDirceu Resende
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com PrimefacesFabio Noth
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsIgo Coelho
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsEmerson Soares
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 

Mais procurados (20)

JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVAVRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
VRaptor - Um Framework MVC Web para desenvolvimento ágil com JAVA
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
JavaFX 1.2
JavaFX 1.2JavaFX 1.2
JavaFX 1.2
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
SQLCLR: Transformando o SQL Server em algo muito além de um banco de dados
SQLCLR: Transformando o SQL Server em algo muito além de um banco de dadosSQLCLR: Transformando o SQL Server em algo muito além de um banco de dados
SQLCLR: Transformando o SQL Server em algo muito além de um banco de dados
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com Primefaces
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
Framework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring bootFramework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring boot
 
Desenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e ServletsDesenvolvimento web em java com JSP e Servlets
Desenvolvimento web em java com JSP e Servlets
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
CakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no WindowsCakePHP - Configurando o ambiente de desenvolvimento no Windows
CakePHP - Configurando o ambiente de desenvolvimento no Windows
 
Apresentação jsf 1_2
Apresentação jsf 1_2Apresentação jsf 1_2
Apresentação jsf 1_2
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 

Semelhante a Desenvolvimento Ágil com Play! Framework

Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFBruno Borges
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front EndCaio Vaccaro
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01Luiz Duarte
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do frameworkAlexandre Cardoso
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDenis Vieira
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010Marcelo Fleury
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Lorena Caldas
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Leandro Nunes
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoEduardo Bohrer
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreRodrigo Kono
 

Semelhante a Desenvolvimento Ágil com Play! Framework (20)

Apache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSFApache Wicket derruba o padrão JSF
Apache Wicket derruba o padrão JSF
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front End
 
PlayFramework
PlayFrameworkPlayFramework
PlayFramework
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Micronaut
MicronautMicronaut
Micronaut
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01Curso de Node.js e MongoDB - 01
Curso de Node.js e MongoDB - 01
 
Performance na web, além do framework
Performance na web, além do frameworkPerformance na web, além do framework
Performance na web, além do framework
 
Desenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full JavascriptDesenvolvendo uma aplicacao Full Javascript
Desenvolvendo uma aplicacao Full Javascript
 
See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010See project - Segurança em Cloud Computing v2 FISL 11 2010
See project - Segurança em Cloud Computing v2 FISL 11 2010
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Ria e Java FX
Ria e Java FXRia e Java FX
Ria e Java FX
 
Django
DjangoDjango
Django
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5
 
Lightning Talk: Webdev who?
Lightning Talk: Webdev who?Lightning Talk: Webdev who?
Lightning Talk: Webdev who?
 
Node.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançadoNode.JS - Workshop do básico ao avançado
Node.JS - Workshop do básico ao avançado
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
 

Desenvolvimento Ágil com Play! Framework