Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Play for (Java|Scala)
Search
James Hughes
July 09, 2014
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Play for (Java|Scala)
Slides for the Play for (Java|Scala) workshop
James Hughes
July 09, 2014
More Decks by James Hughes
See All by James Hughes
Functional Programming with Clojure
kouphax
1
170
Tyrannosaurus Rx
kouphax
0
150
React
kouphax
2
770
Devops: A Case Study
kouphax
0
120
Scala for C# Developers
kouphax
5
2.7k
Dropwizard - Production Ready Web Services
kouphax
3
1.7k
Scala for Fun & Profit
kouphax
4
680
What Agile Means To Me
kouphax
0
190
Neo4J: A Case Study
kouphax
3
720
Other Decks in Programming
See All in Programming
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
600
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
250
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
400
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.8k
Next.js: The final boss of Web Performance
guaca
0
380
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
280
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
120
flutter_test のその先へ — Flutter アプリの LLM 機能に「評価」という品質保証を
kosukesaigusa
0
180
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
14
11k
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
190
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
350
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
6.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
730
Practical Orchestrator
shlominoach
192
12k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
KATA
mclloyd
PRO
35
16k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.9k
Transcript
Play for (Java|Scala)
Preflight check Introduction Play by example Bonus round
Preflight Check Are you ready to play?
Can computer? Pair up, make a new friend? Java or
Scala? Activator installed?
git clone \ -b 00-starting-point \ https://github.com/kouphax/pilcrows.git If you don’t
have Activator…
Introduction Useful things to know
Play 1 ≠ Play 2 Full stack framework Opinionated (enough)
Scalable by default
Play by Example CRUD in 10 easy steps
1. Setting Up Project walkthrough
2. The Basics Controllers & Routes
3. Rendering Views Views, Layouts & Helpers
4. Modelling Models end to end
5. Evolutions Database migrations
6. Data Access Querying the database
7. Views Revisited More views, helpers & routes
8. Form Helpers Form binding & validation
9. The UD in CRUD Updates, deletes and more…
10. Global Object Application lifecycle hooks
Bonus Round Beyond CRUD-dome
Testing Asset compilation Dependency injection JSON & XML
WebSockets Others…. Content Negotiation Sessions
Play kouphax/pilcrows