18
Erfaringer med Play Framework BestBrains gå-hjem-møde 18. september 2012

Play Framework

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Play Framework

Erfaringer medPlay Framework

BestBrains gå-hjem-møde18. september 2012

Page 2: Play Framework

Hvem er BestBrains?... og hvem er vi?

Sune Gynthersen Casper Wilstrup Morten Ulrik Sørensen

Page 3: Play Framework

Speed Dating... og hvem er I?

Page 4: Play Framework

17:00 VelkomstSpeed datingHvad er Play Framework?Demo

17:45 PauseHvorfor Play Framework?- Hos Calendize- Hos ML

Erfaringer og tanker18:30 Tak for i dag

Page 5: Play Framework

Hvad er Play Framework?

● "Java on Rails"● MVC-baseret● Rest, TDD, feedback,...

klar i æsken● Web-fokuseret

● Etablerede Java "Best Practices"

Page 6: Play Framework

Demo

Page 7: Play Framework

Pause

Page 8: Play Framework

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

Page 9: Play Framework

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

Page 10: Play Framework

Mere demoPlay og

SOAP

Play og build

serveren

1.2.x Java2.0 Scala

Ting, vi kan li'

Play ogMaven

Play og WebLogic

Play og "best"

practices

Play i en stor org.

Ting, vi ikke kan li'

?

Tips

Page 11: Play Framework

back

Page 12: Play Framework

Play og Maven - dependencies

Play er Ivy-baseretProjektet er Maven-baseretVores løsning:● Generere ivys dependencies.yaml ud

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

mavens cache

back

Page 13: Play Framework

Play og build serverenplay 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

Page 14: Play Framework

Play og SOAP

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

back

Page 15: Play Framework

Ting, vi især kan li' ved Play

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

back

Page 16: Play Framework

Ting, vi ikke kan li' ved Play

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

back

Page 17: Play Framework

Play 1.2.x >< Play 2.x back

JavaGroovy templatesIvySession

ScalaScala templatessbtStateless

Page 18: Play Framework

Tips

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

back