Upload
bestbrainsdk
View
950
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Erfaringer medPlay Framework
BestBrains gå-hjem-møde18. 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 VelkomstSpeed datingHvad er Play Framework?Demo
17:45 PauseHvorfor Play Framework?- Hos Calendize- Hos ML
Erfaringer og tanker18: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
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
back
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
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
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
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 back
JavaGroovy templatesIvySession
ScalaScala templatessbtStateless
Tips
● Google "play 1.2.5 xyz"● IDEA intellij forstår Play● Cheat sheet● Find Play-måden at gøre det på
back