Upgrade to Play 2.0? Not Now
As a seasoned Java developer coming from Spring/J2EE, discovering Play 1.x felt like a breath of fresh air. The setup was simple, the productivity gains were immediate, and I successfully deployed an internal project to Heroku with minimal friction.
So when Play 2.0 was announced — a complete rewrite in Scala — I was genuinely excited. Its inclusion in the Typesafe stack only added to the anticipation.
Then I actually tried it.
The Problem: Compile Times
After testing the Play-Scala module with the provided todoList example, one issue became impossible to ignore:
Any change to your source code and the next page load takes a lot of time.
Yes, it’s still faster than a traditional J2EE redeploy cycle. But compared to Play 1.x’s near-instant feedback loop, it’s a significant regression. The Java module had the same issue.
Why It’s Happening
The likely culprits are Scala’s compile times and new framework features that require compiling and monitoring additional components on each change. The Play team has acknowledged this and promised improvements — but that’s a future promise, not a present reality.
My Take
For existing applications running Play 1.2.4, there’s no urgent business reason to upgrade right now. The hotswap experience — one of Play’s most compelling features — takes a meaningful hit in 2.0.
That said, the rewrite is clearly a thoughtful architectural move, and when the compile-time story improves, the migration will be worth it. Just not today.