views:

1225

answers:

4

Has anyone used the Play framework for a reasonably complex or large, deployed production app yet? If so, I would like to hear what the pros and cons of that experience were and what you might do differently if you could start over.

In particular, I'm interested in how well it worked for projects that are big enough that it requires a small team and/or apps that had requirements that go beyond what demo/test projects can (e.g. scalability requirements).

The other question on this topic does not cover use in production, and as we all know, the true wins (and gotchas) of platforms often don't show up until used in battle.

+6  A: 

One of the most famous J2EE french blogger tested it (he really tested a lot of things like Grails, Lift and so many others...)

His blog is http://www.touilleur-express.fr/

He said it was a very good framework, it's java and you are more productive than with Grails, but it's missing some stuff like the GORM principles (autofinders) and some stuff about the template language.

He said:

On the technical side, I thank the team framework Play! What a joy to work with this tool. I really advise people looking for a real web framework to test Play! I will give elements of comparison with Grails soon

While he was realizing a job board with this framework ( http://www.express-board.fr/ ) (he's nearly finished it in 3 weeks)

This is a trustable guy thus i would say Play! is probably a very good framework :)

Sebastien Lorber
With all due respect to the author of the blog, I wouldn't call a less than 15 man-days application (even with a highly productive framework) a reasonably complex or large scale application.
Pascal Thivent
Thanks for the pointer. His reviews are quite interesting. For people like me whose French is limited, I found Google Translate helpful (I'd post a link, but comments don't seem to support URLs)
Rob
As play is a pretty new french framework, it will be hard atm to find feedbacks of big projets, with high load... You could also try to translate this french page:http://hakanai.free.fr/index.php/fr/the-news/58-playHe says this framework seems very interesting but it's too soon to use is in a complex project... not enough support/community but for a simple application it seems very fast to use!
Sebastien Lorber
You can also find interesting stuff on the google play group :)
Sebastien Lorber
+16  A: 

You're right - quick demos and little apps are not enough when you need solid facts before committing to a somewhat big application.

I don't have first hand experience on the subject but I tried to gather some info on it. I attended this week a Java conference - founders of the framework were there and answered similar questions.

For first hand experience on the subject, there's a chance I'll have more to say in the next weeks.

Development phase, team work

Play! is using standard Java and simple yet powerful concepts. It is designed with productivity in mind (your boss should like that) and fun while coding.

Tip for large projects: you definitely want to leverage Play!'s modularity and cut your app in Play! modules. It will keep down your project complexity and team size will remain reasonable. (you don't want one big app with hundreds of views/models/controllers).

Zenexity is using this framework for complex projects involving teams of developers. (I don't have hard figures on this, but given the projects they've made, I don't think it's just two interns coding in the basement).

Application domain, real world projects

Play! founders claim that "if it's a web app, if it's RESTful, it can be done with Play!". The Play! framework testimonials page show some good examples.

You want proof? They rolled out a SaaS platform called Mairie2424 (french for "CityHall 24/7") - services for citizens and city representatives. A bunch of french cities websites are hosted on this thing.

There, you have it: real world app (CMS + e-citizen related stuff), real traffic, real customers.

Scalability, running your app on your servers

In theory, if your app is RESTful (and it should), stacking instances should be enough to handle more traffic (database load is another problem though).

Zenexity's guys said they handled many projects with this framework, including bank applications and high load services (and it's consistent with their portfolio). I wish I had more details about these projects.

One last thing. Appication conainer.

You probably know that Play! is using its own app container - Apache Mina for now, and probably another one in the future 1.1 release (Netty ?). Im very curious about that and I'd like to run some tests on it.

Anyway, Play! allows you to package your app and get it running in Tomcat or whatever (even Google App Engine, using the dedicated Play! module). Play! founders somewhat insist on using the embedded container: "it's the best experience available with play!". But it's basically up to you.

Brian Clozel
+3  A: 

We used Play for an application we built recently: it isn't complex or large, but it is deployed in production. I wrote about the experience at http://www.lunatech-research.com/archives/2010/03/29/plan-cruncher-play-production - 'The result was fast development, clean code, easy deployment and an instantly popular web application'

Peter Hilton
A: 

Play is an awesome platform with do more write less philosophy. But the deployment is a little bit problem. We should run multiple instance of play app server. If we have more than one application. But i am sure this problem will be fixed on future releases.

Fırat KÜÇÜK