I haven’t used Flex frameworks in the past because a) I was still learning Flex and wasn’t ready to throw a framework into the mix and b) the only real option was Cairngorm, which seemed like complete overkill.
Now that I’m more comfortable with Flex and understand some of its limitations, however, I can endorse Swiz.
Why do I like Swiz? Because it doesn’t impose a strict structure and because it solves actual problems. Even if you don’t care about separating your model from your views or abstracting service calls, Swiz is worth investigating for these reasons:
Event Handling: You can dispatch events at will and add the corresponding event listeners where required. You don’t have to worry about the fact the Flex events bubble up and not down—Swiz just takes care of it.
Command Chains: It’s often the case that Flex remote object calls need to occur in a particular sequence or that a series of remote object calls needs to complete before moving on to the next piece of code. The logic required to ensure everything happens in the right order can get messy and only gets worse over time. Swiz allows you to define a series of commands (called a CommandChain) and execute them together (sequentially or in parallel).
The Swiz Google code page and the Swiz Framework site have some instructions for getting started with Swiz. The code samples are piecemeal and outdated, however, so I created a small project that demonstrates basic Swiz functions. It’s a pretty silly app, but I created it so the Wharton Computing developer community could reference some well-commented code that works in our environment.
Because the back-end services are written in ColdFusion and it’s not especially practical to invest in CF hosting just to demo this, what you see here is just a screenshot* and the code.
Thanks to Nathan, who unknowingly provided some of the code for this sample app.
*Note the Phillies colors on the demo app. The default Flex theme is not meant for public viewing. Ever. It’s not hard to spiff up your apps a bit!