Wednesday, May 30, 2007

SeeSpotSlide - under the hood

Now that SeeSpotSlide is up and running, I thought I'd document what's under the hood.

The main application is built in Flex 2.01. We used FlexBuilder 2 for all of the development. This was the second large scale deployment application where we used the Cairngorm framework within Flex. Cairngorm has been fantastic! It's provided a way for us to create and organize our projects so that extending and maintaining them is not only possible, it's pretty easy. In fact, the integration of SmugMug functionality was completed in a day and a half with unit testing and deployment!

It took 2 view classes (the main view and the thumbnail holder), one model class, one event class, 3 command classes and a delegate class. Most of these were 'save as' documents from other functionality with customizations inserted where appropriate. The structure of a Cairngorm framework project at first seems to be a bit bloated, but the organization of the classes and the ease at which they can be extended and managed far outweighs the number of files. I think the project has over 100 class files at this time but each one is probably averages 40 or 50 lines of code. To me, it's much easier to browse through the project tree in FlexBuilder to find/remember where a chunk of code is by filename, than it is browsing through a few very long class files. I guess that's a personal preference, but it seems easier to hand off to another developer when constructed in this manner.

So, thanks Cairngorm guys! The name is a pain in the ass to spell, but the value is over the top!

No comments: