After about two years of threatening to learn Flex I'm finally doing it. I started by completing the "Adobe Flex 2 Rich Internet Applications" DVD-ROM course from Total Training. I won this a while ago at a CFUG meeting and have been meaning to get to it ever since. I have to admit, I wasn't sure how I'd like the format given that I usually learn by reading a book on a particular topic then experimenting, but I liked the course. And I know what your thinking, "Flex 2?," but from what I can tell the basics of Flex haven't changed much from Flex 2 to Flex 3, so I found the course very helpful. I'd even recommend it to someone looking to learn the basics of Flex in a hurry.
Next up I decided to tackle Cairngorm. Adobe has a series of articles on this "Microarchitecture" but if you really want to get a handle on Cairngorm I recommend David Tucker's series of tutorials. Again these include code along videos which really help you understand the Cairngorm event flow.
Flash has come a long way since I last tried to use it to build an application. (Anyone remember Flash UI Components?) Overall I'm liking the Flex framework, although it does have it quirks. The class library is huge, but FlexBuilder helps with that a bit. Speaking of FlexBuilder, it is fantastic. Why can't Adobe build a similar IDE for ColdFusion?
It took me a few days to wrap my head around Cairngorm, which to me means it is too complex, but I figured I couldn't really call myself a Flex developer unless I learned to use it. Once I understood the whole Event-Command-Delegate chain it all started to make sense, but I still think it is a bit much. Cairngorm is also missing a few things I really have come to rely on in my framework stack like IOC and AOP capabilities. I do really like the ModelLocator pattern though, and breaking you application out into view components just makes sense. At the end of the day I think using Cairngorm may be slightly better than using no framework in that everything has a place; unfortunately that means you have to open three different classes to see how any one event is handled.
Now that I have a handle on Caringrom I'll be looking into Mate and Swiz to see what they have to offer.
... So begins my Flex learning adventure. Expect to see more Flex content in the near future.