Missed opportunity
Again I’m talking about Adobe and another missed opportunity in regards to the AVM/ActionScript3 stack. The following is a criticism of the company and not thinking about the broader horizons, not really anticipating what developers want. It’s only now that I believe they’re beginning to understanding this, but I think it’s a little too late, the ship has sailed! Developers are what push the technology, look at all the 3D engines created 3-4 years back with massive push of client projects and money for developers. It’s only now that real 3D was implemented!
Look how Javascript/CSS3 has moved to the forefront, developers are implementing what flash could do a few years back, but are improving it with semantics and readability. Taking on some of the frailties of Flash (screen readability, fallbacks and other browser implementation issues), don’t get me wrong, it’s still not perfect, but it’s better than some of Flash’s attempts.
I know that there is only a limited amount of resources to implement some of the things developers want, but it seems that they’re not thinking about the broader picture. The company has spent quite a long time implementing the iOS packaging tool for Flash for example. It’s a great little tool, but probably underused considering it’s possible potential. Why do I talk about this, well it turns out that the way the packaging tool works is that it provides away to compile your ActionScript3 code via the LLVM into AVM code. It now turns from a JIT compiled language to AOT compiled language with some issues currently that you can’t have multiple swfs with code in them. This missed opportunity here is that LLVM can have many backend outputs, Adobe only implemented/used one backend and that’s targeting ARM (for iOS). It would be that much of a stretch of imagination to implement a different backend, C/C++/Java (the list continues). So instead of seeing ActionScript as a dead end language with no possible road a head long term (unlike haXe) there could have been a possibility where your ActionScript code could run natively on any platform with the speed of C/C++ (hand written code would obviously be much faster that this version, but it would be faster than running on the AVM!).
Imagine the possibilities, super fast code with the ease of developing with ActionScript… shame it’s never going to happen!