Go NOOP with ActionScript 3!

Finding classes and inheritances too geeky or scary? Go none object-oriented programming (NOOP) with AS3! There’s nothing wrong writing ActionScript 3 without any Object-oriented Programming (OOP) practice. What worked last time, timeline based coding with gotoAndPlay, gotoAndStop and tweened animations, still works with Flash CS3 in AS3 and it will work with Flash CS4 in the future.

There’s a vibe that ActionScript 3 is not for designers or non-serious Flashers. The hype is brought up by the improvement of AS3 compared to AS2. Programmers are very happy with AS3 because they can finally do some serious OOP and practice Design Patterns. Therefore, classes and packages appear much more frequent in tutorials and examples.

For designers, what excites them is visuals, not ease of maintenance or re-usability, which is the whole point of OOP. It’s hard to sell the idea how wonderful AS3 is with lines and lines of OOP codes which doesn’t really move anything around. OOP is great but not attractive to beginners.

This new category "NOOP" focuses on writing ActionScript 3 examples without any classes or OOP and it tries to bring back the painful but sweet programming experiences to designers.

I agree that procedual coding has its place, take for example banners.

The scripting needed for them is usually minimal, as such the formal coding methods and sophistication of OOP is not required for such small jobs. Any time spent coding towards OOP is would largely be wasted.

As many Microsites have shown, such projects can still be coded using the procedual method as well, but if you are not careful you will very quickly find that the code becomes messy and that adding features becoming exponentially harder.

This is not to say that OOP is a silver bullet for larger projects. OOP is one of the established tools to help keep complexity under control. but the root of managing complexity still boils down to good judgement and planning.

Regardless of the trends, one should always exercise good judgment and use the correct tool that is best suited for the job.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License