tirsdag 1. juni 2010

May: Play Framework

So we had the good fortune to have Jean-Francois Poux from the development team of the Play Framework join us for a session at the meet up in May.

If you haven't heard of Play before, take a look at http://www.playframework.org/

Jean-Francois basically coded through the screencast found at the frontpage of their web site, answering questions as the session progressed. If you look through the 10 minute screencast, you will probably get much of the same information as we got at the meet up.

A couple of days after the meet up, some of us got together to code through the Blog-example of the application with some developers that hadn't done anything in play before. It seemed as if people's reactions were overall positive with the experience; the comfort of coding in java and the convenience of the framework handling many aspects of the complexities connected to developing a web application. Concerns were ; a) the uncertainty of the longevity / popularity of the framework and b) how it would be possible to use/sell play in a enterprise situation.

I had done the blog example on a previous occasion, so I set out to code something different and very simple that could go out in production on the same evening. This is what I created;

App name: javaBin:Helter
Purpose: Vote for your JUG community hero.
Real purpose: Recruit people to get active in the community

I tried to use some of the stuff that play helps you with;
  • routing
  • email support
  • captcha
  • upload image
Check it out :)

btw: I code in Norwegian, because I like it. You might not...and oh yeah .. the code isn't exactly what I would call good, but I did it quickly and it works :) So improve it if you like ;)

The bad:

  • The documentation is at first sight very good. "It's funny, it must be good". I felt like they started something good, but never completed it. I am convinced there is a lot of the magic they could've explained in more detail. But then again, it's as good as the other stuff we use day to day. My other beef with the docs is that it could be more organized.
  • How to sell this to a client? You could say that it's just another java-framework, but that's just not true. It's a complete revolution, and many will feel like this is something very different from what they've done before. The client will also have a problem accepting a technology called "play". Like Groovy; it feels more on the fun side and less on the "we are serious business men"-side. But they do have this page of testimonals ... so maybe :)
  • Smaller community than f.ex Grails. Small communities don't produce as many modules as the big ones. I do love my modules.

The good:

  • It's a real "share nothing"-framework. Just check out routing in play. I do love the urls I get here (wicket does this soooo much harder).
  • It has what I need. If it doesn't, I just drop a jar in the lib-directory. If you need dependency management, check out the Ivy-plugin or the Maven-plugin.
  • No building. You needn't. It compiles runtime. I also love to get clear errors right out in the browser. It's the first time I've coded java in texteditor, I simply didn't need the IDE (not that you can't, it has support for both eclipse and intellij).
  • You have to like the template system
  • Nice samples and tests are bundled with the framework. Look at them to get inspiration.

Afterthoughts:

I like Play. Simple, elegant, and most important; fun. I don't think I will ever use it in a big enterprise project, but this is not because I don't want to. They(you know who I'm talking about) probably won't let me. Maybe if it catches on in a big scale.

If you do decide to start something, know that you can get support from the community at their google group. I don't know how responsive the board is though, since I haven't used it much myself.


Since this is my first post here, feel free to say what works and what doesn't. I do want this to be readable.
 
 
Copyright © >> /dev/null
Blogger Theme by BloggerThemes Design by Diovo.com