Just hit last Friday the first deadline of an AS2 project I've been working on with the guys at
ustwo. Can't say much about the project (hasn't been released + NDAs) but I can say it was AS2. And it was AS2 because it's FlashLite for a "mobile device" that wasn't a phone.
Having moved to AS3, the comeback is painful. Even though I was using FDT (still not liking it), even though we were using PureMVC, even though we were using MTASC + SWFMill, even though we were using Ant, even though I've been working with really talented people, the comeback to AS2 is still painful.
createEmptyMovieClip,
attachMovie, no built-in EventDispatcher, no complains at runtime if you pass the wrong parameters to a function... But the one mistake I've made the most is delegates. You remember them? If you don't, I'm sure you aren't doing AS2 any more.
This is what I did at least 3 times in 7 weeks:
[code lang="actionscript"]myButton.onPress = myFunction;[/code]
But what I really
wanted to do was:
[code lang="actionscript"]myButton.onPress = Delegate.create(this,myFunction);[/code]
Problem is you don't get an error at compile time (or at runtime for that matter), you just lose the scope and get weird results. Depending on how awake you are at that time of the day it might take you a little longer to realize, swear, fix your bug and move on.
I've heard a lot of developers saying that they wouldn't come back to AS2 for all the money in the world, and I understand that feeling. But there're a TON of opportunities in FlashLite projects already, let alone when
the Open Screen Project starts to pay off. And because I don't see Adobe releasing an AS3 FlashLite player any time soon, we need to suck it up and do AS2.
At least this one was for a good project.