A few weeks ago we had a survey to see the practices used by professional ActionScript 3.0 developers, and the results are quite interesting. Roughly, 31% of the respondents indicated that they used design patterns and OOP either as a strict policy in developing their products or from within a template. Another 51% indicated that given the time, they’d employ design patterns and all of the good practices, but because of time pressure, often they could not. The smallest category, representing 12% of the respondents, indicated that they didn’t pay attention either to design patterns or good OOP practices. In other words, 88% of the respondents indicated that they were aware of and attempted to use good development practices as a general policy except where it was impossible because of time and/or resource constraints.
General Results
Table 1 shows the results of the survey’s 163 records. These results are based on the following questions:
- Which API do you usually use for development? API
- At work, which of the following best describes the programming practices used? Practices
- In hiring developers, which of the following do you actually ask applicants about? Applicants
The queries about API and Practices are mutually exclusive and so their rows add up to 100% (mas o menos depending on rounding errors), but the third question is not mutually exclusive and each cell could be up to 100%.

Table 1: General Survey Results
Who’s Your API?
The API of choice is roughly equal between Flash and Flex with about 6% more using Flash than Flex. Another 21% indicate that they use both. We only had 2% whose shop used something other than Flash or Flex.
What Are Applicants Asked?
I found that the responses to the question about what applicants are asked when being considered for a job were quite revealing. The applicants were questioned about Flex and/or Flash roughly along the lines expected given the API choices. The great majority indicated that they questioned applicants about ActionScript 3.0 (85%), but I expected more like 100% would be. Likewise, most respondents said they asked applicants about OOP (77%). So whether you’re a Flash or Flex developer applying for a job, expect questions about OOP. Oddly, though, only 44% asked about the principles upon which OOP is based. (I’d be curious to find out exactly what kind of OOP questions were asked that did not include OOP principles.) Finally, 44% asked about design patterns, suggesting that a sizable proportion of software shops are interested in a programmer’s background in terms of some of the more advanced elements of ActionScript 3.0 programming.
Who’s Got the Practices?
From the raw data, I could not tell which group—Flex, Flash or Both—were the most likely to employ the best practices. In order to find out, I created a cross tabulation treating the API as the independent variable. I have to admit that the cross-tabulation I created using PHP did not adhere to the best practices—I’m just not that good of a PHP programmer to follow the practices that I do in ActionScript 3.0. (We’re all entitled to a hack every now and again.) Table 2 shows the results. (I dropped the cases that were neither Flash nor Flex.)

Table 2: General Survey Results
Examining the results of Table 2, about the only significant difference is that developers who reported using both Flash and Flex in their shops were far less likely to wholly disregard good OOP practices and design patterns and end up in the “Hack” category. Those who identified themselves as Flex or Flash developers, were about as likely to be in the Strict or Hack categories—15/15 percent for Flex and 13/15 percent for Flash.
About the only thing that can be said is that those developers who report using both Flex and Flash seem to use slightly better practices than those who only use one or the other. However, even when we consider the highest percent of those who are essentially using non-OOP/DP practices (Hack category), it’s very small—15% at most.
Where to Go From Here?
It is clear that the modal practices are ones where the developers recognize the importance of OOP and Design Patterns but have difficulty executing them. Overall, it seems that the ActionScript 3.0 developer community who completed the survey would like to employ good practices, which is a good thing.
We’d like to get your feedback on this topic and explore ways that good OOP practices and design pattern can be implemented quickly and easily implement at work.

The ActionScript 3.0 Design Patterns and OOP At Work: Where Are You? by William B. Sanders, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
Related posts:

Bill Sanders
0 Response to “ActionScript 3.0 Design Patterns and OOP At Work: Where Are You?”