Playing with Play!

I’ve been playing around with the Play! framework for some time.  It’s a really great framework for the Java language that makes web programming fun again.  Well, fun for those of us who didn’t jump on the Ruby bandwagon several years ago.  They’ve already been having fun.  But now we can too, and not have to give up the things we love about Java like static typing and enterpriseyness and NullPointerExceptions.  Well, maybe not the last one…

I think Play! shows how most of the problems that people have with the Java language are mostly self-imposed and cultural.  Don’t like the code-compile-deploy test cycle?  Who doesn’t?  With Play! that isn’t a problem anymore.  Play! uses a custom classloader which compiles the classes on the fly, meaning we get the same rapid coding that Ruby on Rails and PHP developers are accustomed to: edit your source file, hit save, hit refresh on the browser, and go.

So I’ve had some fun with Play! for a while and decided to give back to the Play! community.  Today, I’ve released a module for use by the Play! community called scaffold.  It basically works like the Ruby on Rails scaffolding generators, creating some simple controllers and CRUD views based on your models.  Unlike the CRUD module that comes with Play!, this is done via static generation instead of dynamic, runtime introspection.  So, once you’ve customized your views and controllers, you can remove the module and continue without any further dependency.

Hopefully someone finds it useful.