So Adobe made a series of announcements yesterday regarding changes to the Flash roadmap, and typically some of those decisions have had the Flash community up in arms again. Last year I made a conscious decision not to get involved in these often heated debates but I thought that one major piece of news from yesterday was worth blogging about. That news of course is the abandonment of ActionScript Next (AKA AS4) and the new accompanying virtual machine.
I was sooooooo looking forward to ActionScript 4. As far as I’m concerned, ActionScript performance is one of the last remaining bottlenecks and Adobe’s plans to eliminate that impediment via a new version of the language was a mouthwatering prospect. So as you can imagine, I was more than a little upset when I read over the new roadmap changes only to discover that there will be no new version of ActionScript.
For most, the development of ActionScript Next was a declaration of intent from Adobe. It showed a long term commitment to the Flash platform. Understandably yestreday’s news has once again got the community in a spin with many believing that this is another strategic move away from Flash. Perhaps it is. I just don’t know.
Now while I’m upset by the news, I actually find it quite hard to argue against Adobe’s decision. For the last six months or so I’ve had continuing nagging doubts regarding the validity of a new ActionScript. Here are a few of the things that were playing on my mind and I’m sure Adobe’s too.
Transitioning between language versions
The process of transitioning from one version of the language to another isn’t always smooth. I know many developers who never managed the leap from ActionScript 2 to 3. I even know people (mostly designers) who found the jump from ActionScript 1 too much.
Personally I was pretty late to take up ActionScript 3 due mostly to the fact that my work at the time was focussed on legacy AS2 code and the same could likely happen with AS Next. It’s not always easy convincing an organisation to ditch its existing codebase and start all over again. In fact, one of the reasons we adopted AIR for some of our mobile projects at WeeWorld was because we had an existing ActionScript 3 codebase to work from. ActionScript Next could have blown all that away making our case for using AIR weaker.
Lack of third-party libraries
A new version of the language brings about another problem. Initially there will be a distinct lack of third-party libraries. For starters, Starling, Feathers, and Away3D, which are all part of Adobe’s Gaming SDK, would all have to be re-written. I’d imagine it would have been highly unlikely that all three would have been ready for AS Next’s release. And that’s just for starters. What about other great libraries/frameworks such as Box2D, Nape, Citrus, Minko, Facebook’s Graph API, and Greensock’s tweening libraries? We could be waiting years for everyone to catch up, crippling those wishing to develop with the new language.
Classic display list
My final concern was Flash’s classic display list. There were rumours that ActionScript Next would completely forego the classic display list in favour of Stage3D. While I’m all for Stage3D, I think ditching the classic display list would have been a mistake. It’s perfect for prototyping and Flash Professional provides an excellent workflow.
Now I know the classic display list was never intended for mobile devices but it still has its place for many types of mobile applications and games. At WeeWorld we used Flash Professional quite heavily during the development of Match Mee for iOS. While we considered using Starling and Stage3D, we concluded that the classic display list was the better choice, mainly because it put the visuals and layout firmly in the hands of the designer rather than the developer.
Of course, if Adobe were to announce tooling for Starling that was similar to what Flash Professional provides then my opinion here may be different, but to date there have been no such announcements. In my opinion, completely dropping the classic display list would have been a mistake and would have driven more people away from the Flash platform.
Good or bad?
I’m still not sure whether dropping ActionScript Next is good or bad. If I was given the choice, I’d still rather it saw the light of day but sadly that will never happen. Perhaps we’ll see some incremental updates to the language over time but to be honest I find that I can get by with AS3 just the way it is. It’s significant performance improvements that I really want to see. Let’s hope Adobe can deliver on that front instead. Although perhaps AS3’s dynamic nature will make that unlikely.
There were a few other significant developments that came from the updated roadmap. If I find the time over the next few days then I might post my thoughts regarding a few of those too.