AS3 – The gap widens

The designer/developer boundary has always been a little blurry when it comes to Flash. Flash has been celebrated for this since 1999, and  has established a pretty unique position. But with each release of Flash those who sit on the fence feel an increasing pressure to choose a camp and stay in it. Some do, some don’t and some just carry on doing things as they always did, but one thing’s for sure; that the drive toward Flash being a more robust, more powerful, more serious platform is not showing any signs of slowing down. AS3 is another leap forward. In fact a much bigger leap than AS2 was.

The casual and flexible nature of ActionScript has lent itself very well to the creative industries in particular over the years. In short, it gets the job done! And unfortunately that’s what this business is all about most of the time. But ActionScript has really grown up this time. Of course you can still publish Flash movies in AS2, and even AS1, but if you want to grow up too you’re going to have to get a bit more serious – again. This means more planning and less hacking. Generally you are going to spend longer doing pretty much everything.

I know plenty of creative developers who have been writing ActionScript for years and many of them eventually embraced AS2, even if a little reluctantly. AS2 was an important step in the maturing of the language, but a step that was in fact a bit of an illusion. The structure and strictness that it appears to impose is really rather superficial and the list of hacks and compiler workarounds is endless. Under the hood AS2 is pretty much the same deal as AS1. i.e. it’s JavaScript. JavaScript was purposefully designed for non-programmers. How often have you done this to create a button action:

myBtn.onRelease = function(){ /* do stuff */ }

What you are doing is creating a function object and assigning it as a property of another object. You can do this because the prototype architecture of JavaScript allows you to – a concept foreign to pretty much all class-based languages.
Well you can’t do it any more. – not in AS3.

This time around Adobe has based the language on the draft specification of ECMAScript Edition 4 (ES4). AS1 & 2 (along with most implementations of JavaScript that you’ll encounter) are based on ES3 which is nearly ten years old now. So under the hood AS3 is genuinely a different beast and a more grown up one at that.

So with the ever-stricter, and more robust stature of ActionScript, how long can this designer/developer melting pot survive? And how narrow can the margin remain between the developer and the designer? I don’t mean to suggest that designers can’t code or that coders can’t design, but there are only so many hours in the day, and only so much you can fit into one person’s job description. Perhaps the distinction of merely two roles isn’t sufficient anymore. We don’t talk about Flash development in terms of front and back ends, but perhaps we should. As the gap widens perhaps we can identify multiple roles for specialists across multiple layers of development just as we do with HTML based web apps.