Play2.1 is out - and how amazing are Iteratees

So the latest play framework version 2.1 was just released. To celebrate, I updated our Play Clickstart (click the button !) to use play 2.1 (the upgrade was easy - I followed this migration guide).

One of the impressive things I have learned about Play is its use of Iteratees to deal with stream processing (a stream could be files, media, web sockets, you name it). Many people reach for async frameworks to deal with evented types of data (ie things come in and go out in small chunks) - Iteratees allow you to do this type of thing without having to turn your head and code completely inside out (they are also non blocking, reactive and allowing control over resource consumption - Thread, Memory). I was introduced to these by a talk from James Roper (I will have to dig up the link !)

I found a really fun demo of Iteratees on this blog (called Zound) that showed a synthesizer that you could twiddle on screen, and it would stream the sound out to the browser (websocket style) - there are some neat code snippets that show how easy this is to use (even if the concepts are a tad over my head).

This stuff is getting more and more important with long polling, server side events, websocket and more.
Check out the demo here.
Nicely done play community !

Add new comment