Desenvolvimento Ágil com Play! Framework

23
Desenvolvimento Ágil com

description

Apresentação realizada no JustJava 2013, em São Paulo/SP.

Transcript of Desenvolvimento Ágil com Play! Framework

Page 1: Desenvolvimento Ágil com Play! Framework

Desenvolvimento Ágil com

Page 2: Desenvolvimento Ágil com Play! Framework

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)[email protected]

Page 3: Desenvolvimento Ágil com Play! Framework

3

Agenda

● Introdução

● Play! no Mundo

● Casos Reais

● Play! Na Prática

● Demo

● Conclusão

Page 4: Desenvolvimento Ágil com Play! Framework

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)

Page 5: Desenvolvimento Ágil com Play! Framework

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

Page 6: Desenvolvimento Ágil com Play! Framework

6

Play! No Mundo

Empresas ao redor do mundo utilizando Play!

Page 7: Desenvolvimento Ágil com Play! Framework

7

Play! No Mundo

Estatísticas de Pesquisa no Google Trends! Jun/2013

Page 8: Desenvolvimento Ágil com Play! Framework

8

Play! No Mundo

Pesquisa no Google Trends! Jun/2013

Page 9: Desenvolvimento Ágil com Play! Framework

9

Casos Reais

Page 10: Desenvolvimento Ágil com Play! Framework

10

Cases Reais

● Cooperativa de Pesca

Page 11: Desenvolvimento Ágil com Play! Framework

11

Cases Reais

● Cooperativa de Pesca

Page 12: Desenvolvimento Ágil com Play! Framework

12

Cases Reais

● ERP Escolar

Page 13: Desenvolvimento Ágil com Play! Framework

13

Cases Reais

● Gestão Financeira de Projetos

Page 14: Desenvolvimento Ágil com Play! Framework

Como posso ser Ágil de fato ?

Onde o Play! pode me ajudar ?

Quero desenvolver feliz ?

Page 15: Desenvolvimento Ágil com Play! Framework

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!

Page 16: Desenvolvimento Ágil com Play! Framework

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

Page 17: Desenvolvimento Ágil com Play! Framework

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

Page 18: Desenvolvimento Ágil com Play! Framework

18

Demo

● Formulário de Submissão de Palestras

● Como obter o framework ?

– www.playframework.org

● Baixar e descompactar

– Adicionar no classpath

Page 19: Desenvolvimento Ágil com Play! Framework

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]

Page 20: Desenvolvimento Ágil com Play! Framework

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

Page 21: Desenvolvimento Ágil com Play! Framework

21

Demo

Page 22: Desenvolvimento Ágil com Play! Framework

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

Page 23: Desenvolvimento Ágil com Play! Framework

23

Q&A

Entenderam tudo ?