There were a lot of great sessions at 360|Flex this year. As usual, the tech sessions were very well presented and informative, but I found the new business track and the design centric sessions particularly helpful. It was great to gain some insight into how companies like Universal Mind and Phenomblue manage projects, their creative processes and just get a general glimpse into their inner workings.
I learned a lot and had a ton of great conversations with my fellow Flex coders, but there was also quite a bit of new stuff that was either announced at 360|Flex or came across my radar for the first time that I thought I’d list the ones that interested me the most. So, without further delay here is my list, in no particular order.
Axiis is an open source project for creating data visualizations. It’s built on top of Degrafa and is meant to make building simple charts extremely easy while providing tools to facilitate the creation of much more complex interactive visualizations. If you’re doing anything in the data visualization space, or currently using the Flex Charting stuff, then this is what you should be looking at. Check out the examples (http://www.axiis.org/examples.html) and don’t forget to right click and view the source.
FlexUnit is the pinnacle of unit testing for Flex. It’s been updated to include all of the functionality of its JUnit counterpart, but rather than a direct port it was built specifically with Flex in mind. I attended a session on this and a few things really struck me. First off, it’s very easy to implement, using metadata tags. It now handles asynchronous calls very easily, which has been kind of difficult in Flex unit testing in the past. They also added a lot of extra features, like Hamcrest support for asserts, which means you have asserts like “closeTo” where you can check if a value is within a certain variance. Another great addition is Theories and DataPoints, which allow you to run the same test with a series of different inputs.
Basically, if you were putting off trying unit testing or have tried and found that the tools were too immature in Flex then it’s time to give it another shot. FlexUnit 4 is mature and seems to have been really well thought out.
Check out the slides from Jeff Tapper’s presentation which goes over some of the new features: (http://blogs.digitalprimates.net/jefftapper/index.cfm/2009/5/20/FlexUnit-4-feature-overview)
I think this was the most exciting new thing I discovered at 360|Flex this year.
Bifff, or Behavior Injection Framework For Flex, is completely, incredibly, awesome. It’s JQuery for Flex. If you’ve ever used JQuery’s selectors then you’ll immediately understand the power that this library brings to Flex. You can very easily apply modifications to visual classes in your app by finding them by id, style name, class type or class ancestors like interfaces or base classes. Want to make all Canvases with a stylename of “draggable” draggable? Just add a few lines of code and it’s done. The other great thing that Bifff adds is the ability to assign mutiple style names to an object. Fex can’t do this natively, but Biff will combine them so you can have something like <mx:button id=”mybutton” stylename=”mybuttonstyle largefont redtext”/> where the mybuttonstyle might be a basic style for all buttons, largefont is a style that sets the font size to 16 and redtext makes the text red. Additionally, you can then reference any one of those styles to inject additional bahavior into the button.
If my description doesn’t really make sense then just go to the GitHub site and look at the examples (http://wiki.github.com/seanhess/bifff). I think the power will become apparent after you view the source there and get a feel for what Bifff can do.
Glue is a framework similar to Mate that was built by Sean Hess using Bifff. Because its built on Bifff the data injection that is core to Mate is taken to a new level and at the same time simplified. It makes for a simple to use, unobtrusive, and very lightweight framework.
StandingWave is a sound sampling library for Flash and Flex. The demo presented in the closing keynote was pretty impressive. The library allows you to take wav and mp3 samples and algorithmic sound generators and sequence them across time hierarchically. It also allows you to apply effects like echo and fade. It was built for use in the Noteflight application (which is incredible in its own right) and looks to be incredibly useful to anyone looking to generate sound or sequence music in Flex.
I know there were more, but these are what came to mind first. Of everything I saw I have to say that Bifff was the most useful for the type of work I do, and also the most unexpected. The session on it was a write-in at the last minute and if Sean Hess hadn’t been given a few minutes in the closing keynote to explain what Bifff was I don’t think I would have attended his session and discovered this amazing tool.
Some other quick observations from sessions I attended and conversations with others in the Flex community..
- Cairngorm and PureMVC are out, Mate is in.
- FDT is an incredible editor for Actionscript and now Flex as well. I mean, really productive x10 incredible.
- Flex 4 is going to be awesome. Spark is a game changer in terms of component creation and skinning.
- Flex 4 will use Degrafa style code, but the flex compiler will convert it into actual flash player shapes during compilation, making for much improved performance.
- The Flex community is incredibly open and friendly. Everyone wanted to talk about the work they do, problems they face and where they felt they were and weren’t overcoming them.
- Tom and John put on a great conference!
That’s all I’ve got for now. I’ll post individually about the projects I listed here as I get to know them better, and will be looking forward to next year’s 360|Flex.