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
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å