Looking back at the last 4-5 years I spent developing Flash widgets & applications (again, I do NOT participate in marketing efforts.. so no micro-sites or bogus games for me) I realize that one of the core abilities of a good Flash application developer is his ability to develop components from scratch. The better you get at this, the more valuable you become. At first you try to develop simple components: buttons, radio buttons, check boxes, thumbnail viewers; then move on to more difficult ones: accordeons, tooltips, tabbed panels, tree controls.
Imagine, whatever your client asks you, you say: “Yes I can do”. This ability is very precious, it takes years of efforts to develop properly but once you have acquired it, there is no limit to what you can do. W/o this ability, you are limited to what you can integrate from libraries or packages. You can compare this to the difference between a composer and a DJ. The DJ can only mix tracks, but the composer can actually make up any music he wants!
Last summer I had a big challenge while working for Adobe: rebuild the DataGrid to enable it to show multiple levels of data, with animated filtering. It works, however is hasn’t been integrated inside of the Verizon Wireless Media Store yet, maybe one day!
Since that challenge, my perspective changed; in fact the experience at Abode proved very instructive. I have to thank Paul, Josh, Dave, Tommy, and Bjorn for this.
In this article I will describe the foundation of most of the custom components I build, a simple class called
BaseControl. The ideas behind this class come from a Tutorial I first read in 2004 from Joey Lott, which I implemented in AS2 and then migrated to AS3.