SlideShare a Scribd company logo
Erfaringer med
  Play Framework
BestBrains gå-hjem-møde
  18. september 2012
Hvem er BestBrains?
... og hvem er vi?




  Sune Gynthersen    Casper Wilstrup   Morten Ulrik Sørensen
Speed Dating
... og hvem er I?
17:00   Velkomst
           Speed dating
           Hvad er Play Framework?
           Demo
17:45   Pause
           Hvorfor Play Framework?
           - Hos Calendize
           - Hos ML
        Erfaringer og tanker
18:30   Tak for i dag
Hvad er Play Framework?

●   "Java on Rails"
●   MVC-baseret
●   Rest, TDD, feedback,...
    klar i æsken
●   Web-fokuseret
●   Etablerede Java "Best
    Practices"
Demo
Pause
Calendize: Hvorfor Play?
● Projektet startede fra bunden, og teamet havde erfaring
  med:
   ○ MVC (Ruby on Rails, ASP.Net MVC, etc)
   ○ Java, både sproget og stakken
● Vi   lavede en spike på en dag, og havde følgende:
  ○    Velkendt IDE med refactoring og integreret testrunner
  ○    Continuous Deployment til test og produktion
  ○    Automatiseret test på unit-, integration- og systemniveau
  ○    Database persistens med JPA
  ○    Og en rigtig god fornemmelse
ML: Hvorfor Play?
 ML: 100 mand, hjemmelavet framework, skuffende
  produktivitet
 Task force: evaluere alternativer i 1-uges sprints
● Play Framework
● Spring MVC
● ??
Største risici først:
● Maven, Hudson, ...
● Integration med legacy-systemer
Play og    Mere
            demo                      Play i en
 SOAP                    Tips         stor org.


 Play og   Ting, vi
                        Ting, vi     1.2.x Java
WebLogic    kan li'
                      ikke kan li'   2.0 Scala


 Play og                              Play og
  build    Play og         ?           "best"
serveren   Maven                     practices
back
back

                Play og Maven -
                 dependencies
       Play er Ivy-baseret
       Projektet er Maven-baseret
       Vores løsning:
       ● Generere ivys dependencies.yaml ud

         fra mavens pom.xml
       ● Sætte ivy op til at finde sine ting i

         mavens cache
back



             Play og build serveren
       play autotest
       ● ... desværre låst til port 9000

       ● ... kan ikke afvikles i parallel




   Vores "løsning"
   ● separat job

   ● ikke "i kæden"

   ● "sjove" kun-på-hudson problemer
back



                  Play og SOAP

       Øv: "Dumme pojos" ud af web services
       1) Reflektion over i kloge klasser
       2) Lav knap så dumme web services
       ... bare vi havde et "partial class" begreb
back



           Ting, vi især kan li' ved Play

       ●   Routes filen
       ●   Strukturerede input-objekter
       ●   Validering
       ●   Hot deploy
       ●   Konventionsbaseret
back



           Ting, vi ikke kan li' ved Play

       ●   Manglende constructor injection
       ●   Statiske controllere
       ●   Én test-suite
       ●   Java
       ●   Groovy templates - hastighed
back



          Play 1.2.x >< Play 2.x
       Java               Scala
       Groovy templates   Scala templates
       Ivy                sbt
       Session            Stateless
back



                          Tips

       ●   Google "play 1.2.5 xyz"
       ●   IDEA intellij forstår Play
       ●   Cheat sheet
       ●   Find Play-måden at gøre det på

More Related Content

PPTX
PPTX
Tag trykket af dit (eksterne) API med Azure WebJobs
PDF
PPTX
Manitoba LA 2010
PPTX
Biblio wow!
PDF
urs proxy reports 2005
PPTX
Fopl omd ceo_roadmap_bhv2
PPTX
Targeting and tracking audiences on social media
Tag trykket af dit (eksterne) API med Azure WebJobs
Manitoba LA 2010
Biblio wow!
urs proxy reports 2005
Fopl omd ceo_roadmap_bhv2
Targeting and tracking audiences on social media

More from BestBrains (20)

PDF
Psykologien i agile teams
PDF
Bliv en haj til nedbrydning okt 2016
PDF
Vsm best brains presentation_ september 2016_v4 2
PDF
Lars thorup-react-and-redux-2016-09
PDF
BestBrains café-møde: Kanban med Lego ved Jesper Thaning
PDF
Projektleder i agilt setup, cafemøde hos BestBrains, april 2016
PDF
BestBrains café-møde d. 14. april: Retrospektiv antipatterns
PDF
Gør urværket synligt for dine teams
PDF
Tddbdd workshop
PDF
Craftsmanship 2016 -BestBrains Café-møder
PDF
Best brains kanban med lego januar 2016 handout
PDF
Bliv en ørn til estimering nov 2015
PDF
Den agile transformation november 2015
PDF
Sandheden om agile udviklingsteams
PDF
Intro til agile 31 aug 2015
PDF
Lær 3 agile metoder på en aften, august 2015
PDF
Bliv en haj til nedbrydning, aug 2015.
PDF
Haj til nedbrydning juni 2015
PDF
Motivation - fedt, farligt & flygtigt.
PDF
Switch -den_agile_omstilling
Psykologien i agile teams
Bliv en haj til nedbrydning okt 2016
Vsm best brains presentation_ september 2016_v4 2
Lars thorup-react-and-redux-2016-09
BestBrains café-møde: Kanban med Lego ved Jesper Thaning
Projektleder i agilt setup, cafemøde hos BestBrains, april 2016
BestBrains café-møde d. 14. april: Retrospektiv antipatterns
Gør urværket synligt for dine teams
Tddbdd workshop
Craftsmanship 2016 -BestBrains Café-møder
Best brains kanban med lego januar 2016 handout
Bliv en ørn til estimering nov 2015
Den agile transformation november 2015
Sandheden om agile udviklingsteams
Intro til agile 31 aug 2015
Lær 3 agile metoder på en aften, august 2015
Bliv en haj til nedbrydning, aug 2015.
Haj til nedbrydning juni 2015
Motivation - fedt, farligt & flygtigt.
Switch -den_agile_omstilling
Ad

Play Framework

  • 1. Erfaringer med Play Framework BestBrains gå-hjem-møde 18. september 2012
  • 2. Hvem er BestBrains? ... og hvem er vi? Sune Gynthersen Casper Wilstrup Morten Ulrik Sørensen
  • 3. Speed Dating ... og hvem er I?
  • 4. 17:00 Velkomst Speed dating Hvad er Play Framework? Demo 17:45 Pause Hvorfor Play Framework? - Hos Calendize - Hos ML Erfaringer og tanker 18:30 Tak for i dag
  • 5. Hvad er Play Framework? ● "Java on Rails" ● MVC-baseret ● Rest, TDD, feedback,... klar i æsken ● Web-fokuseret ● Etablerede Java "Best Practices"
  • 8. Calendize: Hvorfor Play? ● Projektet startede fra bunden, og teamet havde erfaring med: ○ MVC (Ruby on Rails, ASP.Net MVC, etc) ○ Java, både sproget og stakken ● Vi lavede en spike på en dag, og havde følgende: ○ Velkendt IDE med refactoring og integreret testrunner ○ Continuous Deployment til test og produktion ○ Automatiseret test på unit-, integration- og systemniveau ○ Database persistens med JPA ○ Og en rigtig god fornemmelse
  • 9. ML: Hvorfor Play? ML: 100 mand, hjemmelavet framework, skuffende produktivitet Task force: evaluere alternativer i 1-uges sprints ● Play Framework ● Spring MVC ● ?? Største risici først: ● Maven, Hudson, ... ● Integration med legacy-systemer
  • 10. Play og Mere demo Play i en SOAP Tips stor org. Play og Ting, vi Ting, vi 1.2.x Java WebLogic kan li' ikke kan li' 2.0 Scala Play og Play og build Play og ? "best" serveren Maven practices
  • 11. back
  • 12. back Play og Maven - dependencies Play er Ivy-baseret Projektet er Maven-baseret Vores løsning: ● Generere ivys dependencies.yaml ud fra mavens pom.xml ● Sætte ivy op til at finde sine ting i mavens cache
  • 13. back Play og build serveren play autotest ● ... desværre låst til port 9000 ● ... kan ikke afvikles i parallel Vores "løsning" ● separat job ● ikke "i kæden" ● "sjove" kun-på-hudson problemer
  • 14. back Play og SOAP Øv: "Dumme pojos" ud af web services 1) Reflektion over i kloge klasser 2) Lav knap så dumme web services ... bare vi havde et "partial class" begreb
  • 15. back Ting, vi især kan li' ved Play ● Routes filen ● Strukturerede input-objekter ● Validering ● Hot deploy ● Konventionsbaseret
  • 16. back Ting, vi ikke kan li' ved Play ● Manglende constructor injection ● Statiske controllere ● Én test-suite ● Java ● Groovy templates - hastighed
  • 17. back Play 1.2.x >< Play 2.x Java Scala Groovy templates Scala templates Ivy sbt Session Stateless
  • 18. back Tips ● Google "play 1.2.5 xyz" ● IDEA intellij forstår Play ● Cheat sheet ● Find Play-måden at gøre det på