Maybe it’s an inside joke at Adobe, or just a strange coincidence, but it seems that whenever my Flex project builds—it hangs for a second or two at 69%. Because I’ve got an overly sophomoric sense of humor, this amuses me.
Despite the millisecond of amusement, waiting for a project to build is just the opposite—an irritation and time-eater. Most Flash / Flex folks are used to some amount of compile time, and there have been lots of work-around solutions to save time when compiling .swfs—namely decoupling code from graphic assets. On our latest project, this would have saved us a lot of time. I shudder to think how much time our 4 person development team spent over the past 5 months waiting for our respective workspaces to build, just to go back in, change a few lines, and do it all over again. It was by far the largest and most visually robust Flex app any of us had ever worked on, and of course there were many lessons learned.
Somewhere around the end of the project, perhaps a day or two before our code freeze, Mike found this article: “Slow Flex Builder compile and refresh solution – Modules“ (thank you, Marc Hughes). I decided to give it a whirl, but by that point everything was too far along to ‘properly’ decouple graphic assets from the rest of the project.
After a successful project launch, we found ourselves with a bit of time for research and development (amazing!), so I decided to do a little experimentation. Since I’m the only Flash / Flex Designer on the team, I wanted to take some time to work out a few graphical / layout problems, and try out Marc’s Module solution on a ‘fresh’ project. I took the time to do a fairly heavy design treatment in order to test this bad boy out.
Without launching into a detailed technical description, suffice it to say that the Module solution works swimmingly. I noticed a marked increase in build time when editing .mxml files, and launching the application. Whenever I added a new .swf graphic or .swc component, the build took longer—which was expected, but once ‘cached’ everything was cool.
Graphics Module Test
The content is purely nonsense, so don’t get hung up on that. All of you developers out there—don’t dog your boy over the code! As I mentioned, this is more of a graphical experiment than anything else.
Click the link below, when it opens—right click and choose ‘view source’ to take a look at what’s going on here: Graphics Module Test
I’d also like to write more in depth about what I’ve learned regarding Flex skinning / graphics in general and I’ll probably reuse this project as an example… more to come!