03Oct Beyond Flash 10 and AS3
875 views
With Adobe Creative Suite 4 shipping soon, I began thinking about some of the features I still wish ActionScript could have in the future. With the introduction of the Vector class, reports have been coming in across the web of performance increase anywhere between 40% to 60% (AS3 Vector / Array Performance Comparison). However, this is one small step for the platform as a whole as with some of the benchmarks I have run- Flash is about 10 times slower than other similar languages in regards to math (I will be posting on some of my benchmarks coming soon). So without further ado, here is my wish list:
- Faster math speed
(10x would be nice) - Use more (I do understand Flash has a limited support currently) OpenGL features for faster rendering performance
- Aside from the new Vector, introduce typed Dictionaries
- A service package to directly access MySQL (even cooler if it was like E4X in syntax) with an option to have a constant streaming connection (for server use… client side would be too risky security-wise)
- Native 3D object that creates OpenGL primitives
- Multicore/multi-thread operation handling
- Move some of the general utilities from Flex to Flash… like mx.utils.UIDUtil
- Bolster AIR in speed and networking features to become a viable game server platform (the MySQL feature comes into play here as well)
- Maybe add YAML and JASON to E4X proxy methods since they are growing in popularity
- A way to use function.apply on a class constructor when making a new object instance! (Class contructors with function.apply?)
- Convert a series of frames in the Flash IDE to an animate-able bitmapdata object (much faster)
- “eval” command (yes, I know it can be evil… but there are benefits)
- Operator overrides
- Did I miss anything? Please post with your thoughts!


October 3rd, 2008 at 8:32 am
You can find some of these already proposed at bugs.adobe.com. For MySQL, I believe there is also a library that does that now - I only know this from overhearing someone else mentioning it, so I don’t know much about it myself, but it could be something to look into.
Concerning other language complaints, maybe they could be solved with the new compiler project.
http://www.onflex.org/ted/2008/02/extending-adobe-flash-player-and-adobe.php
October 3rd, 2008 at 8:40 am
http://code.google.com/p/assql/
October 3rd, 2008 at 3:01 pm
Some thoughts on a few of them:
“A service package to directly access MySQL.”
I hope this never happens. The security risks are too high. SWFs can be decompiled. Unless your MySQL user account is read-only, anyone will be able to start making changes to your DB by extracting your password from the SWF.
“Maybe add YAML to E4X proxy method since YAML is growing in popularity”
YAML isn’t as popular as you think. First, I’d like to see native JSON support. JSON is definitely getting popular with the REST crowd, and it’s AS “native”.
“multi-thread operation handling”
Yes please. Even a single worker-thread would do wonders so that the app can still display something during longer operations.
“Move some of the general utilities from Flex to Flash…”
Flash Player, or just a generic AS3 library? I know in the past Adobe has stated that since AS3 can perform pretty well, they want as much as possible running in code rather than natively within Flash Player. Flex is an open source library, and many of the files are usable without the whole framework. If you just want a general library that isn’t tied to the Flex name, I say it’s not worth the effort.
“A way to use function.apply on a class constructor when making a new object instance!”
I discovered this limitation recently. I agree. Something is needed here.
“eval command”
I can honestly say that I’ve NEVER had to use eval(). Unless someone can give me a really awesome use-case, I’m not interested in this one.
October 3rd, 2008 at 3:42 pm
Hey Josh, thanks for the comment! Here a short follow-up:
“A service package to directly access MySQL.”
Ya, I was envisioning this to only be used for server-side applications… not ones that the client use (unless there was a secure way to do it).
“Maybe add YAML to E4X proxy method since YAML is growing in popularity”
Ya, I agree more or less.
“Move some of the general utilities from Flex to Flash…”
At least some of the basic utils should be moved over… I mean UIDUtil CAN’T use that much internal Flex framework for simply generating a hash?
“eval command”
Eval command brings in some of the most powerful concepts of reflection programming into play. Granted however, this is not a feature that will change 98% of developers that use Flash if it gain it. So… I guess it’s not really that important to me.
One thing that I did forget to mention is system-level hardware access from AIR… I’ll touch base on what exactly I mean in my next post Monday.