AS3, Some Agony and Some Ecstasy
ActionScript 3.0 has been around a while now, yet how many Flash developers are using it in their daily practice? Mike Chambers has put a couple of questions to the Flash community recently - Are You Still Using ActionScript 2? (or 1) and Is ActionScript 2 Development Faster than ActionScript 3 Development? I presume these posts are an effort to probe some of the disquiet and criticism there has been recently about AS3 and the direction of Flash development in general.
ActionScript development is a broad church nowadays, including designers who use it for interactivity in banners, to enterprise RIA developers working with Flex. As a result, there’s not that much common ground and the dialogue around the pros and cons of AS3 is a bit splintered. Flex developers champion AS3 because it’s new features make complex applications easier to develop, but grass-roots Flash users have displayed more mixed feelings.
In my experience, AS3 take up does seem rather patchy. Many Actionscript enthusiasts began their migration as soon as the beta was released, but not many jack-of-all-trades freelancers or smaller agencies have even now. I don’t think the “fault” lies with AS3 particularly, as the most involved concepts in AS3 (class inheritance, casting, namespaces etc.) were introduced, in syntax at least, with AS2. I don’t recall as much of a fuss about AS2 migration, probably because it was was an opt-in affair and could be safely ignored by developers that weren’t interested. Migrating from AS2 to AS3 is not that big a deal. There are challenges, but they are more about the new tools and the specifics of some of the APIs.
A relevant question that doesn’t get asked much is what version of Actionscript are users migrating from? It wouldn’t surprise me that a significant proportion of the Flash user base is having to migrate not from AS2 but from AS1 (or some kind of hybrid) to AS3. That’s a much bigger leap to make, because it requires a grasp of the OOP paradigm. Until it clicks, learning the OOP ropes is more crippling than empowering, and satisfying a whining compiler can be an exercise in frustration.
Flash product evangelists like Lee Brimelow are working hard to promote AS3 to ‘traditional’, design-led Flash users, but even they don’t recommend the editor in the Flash IDE and suggest moving to a specialist coding IDE instead. Unfortunately, it’s in coding environments like Flex Builder that the casual user will be exposed to the requirements of the strict-mode compiler. This leads to the unlikely proposition that “Actionscript is for designers! (… who use Flex Builder)”. All in all, the Flash Platform embodies a confusing spectrum of tools, approaches and goals. The question is whether that is the mark of a crisis, or a maturing flexibility.