Hi,
We started using Play 2.1 a few months ago and we evaluated templating options back then. I was able to hook Scalate up with Play 2.1. I used scalate mustache and the idea was to use mustache with Play and on the browser too. This really didn't work too well.
- The mustache in scalate is not the same as the mustache in JS. There were small and large differences that made the "same template language on server and browser" just not work.
- When Scalate was hooked up with Play, you need to be very careful with the stuff you pass to the templates. Instead of normal Scala objects I needed to build weird map like structures. That was awful.
- Finally, scalate is runtime. The greatest thing about the Play internal template system is that it is compiled. This has already been a great thing, because I can change the stuff passed from controllers to templates and the compiler makes sure I fix all the problems. With Scalate you pass an object tree to the template and maybe it works, maybe it doesn't. You need to test all your web pages.
So, our solution was to stick with the Play templates and so far they have been great.
Br,
Pirkka