Wednesday, June 04, 2008

The Server Side of Flash/Flex: Options and Armchair Evaluations

I've got a project I've been working on privately for a while now(six months!?) that requires server integration. My app needs (secure)video streaming and AMF(think an Adobe-controlled, fast binary web service specification).

To those ends, I've been evaluating Red5 and pyamf.

Red5 is an open source product that provides both of these features(plus shared remote objects). Pyamf, as it's name suggests just implements the AMF protocol.

Red5 may do everything short of flossing your teeth, but the development environment seems kinda stupid. The architecture seems to have more moving parts than necessary. It's JEE based, so lots of restarts as you work, and everything is interface based (and also really poorly documented). But, apparently, it's just brain dead simple to stream hosted videos. So I'm going to use it for that.

Pyamf does one thing and seems to do it well. It's documentation is light, but the user email list is quite active and since it does one thing, simply, it may not need that much. It's also compatible with Google App Engine, with is one of the server implementations I'm considering(really, the only one. I don't want to manage more web servers/dbs than I've got to and I don't want to cross into the weirdness that is rails shared hosting). So I'm going to use pyamf for client-server integration. Now I just gotta get better with Python.