MAX 2005: Next Generation ActionScript

Gary Grossman of the Flash player team at Macromedia talked this morning about “Next Generation ActionScript.” He started by looking at the evolution of ActionScript with each version of Flash. Flash 8’s main change was mainly “performance improvements.” ActionScript 3.0 is a part of the Flash player 8.5. It is mostly there for Flex 2.

There are many significant changes in ActionScript 3.0. It will be challenging to port existing applications. The most radical changes, like the new virtual machine, are under the hood and won’t affect developers. Performance increases may be significant. One example ran 12.5x faster than ActionScript 2.0.

The new virtual machine is designed for speed and written from scratch. It uses just-in-time compilation of ActionScript bytecode to native x86 and PCC code. The target is to have something that is 5x-10x faster than the current virtual machine. The new virtual machine will sit side-by-side with the current one. Current Flash content will still use the old virtual machine and only new, Flash player 8.5 content will use the new virtual machine.The code name for the new virtual machine is “Zaphod,” since Flash will become a sort of two-headed virtual machine.

New features include strong types natively supported, protected and internal access specifiers, namespaces, better error reporting, optional parameters, rest arguments, method closures, regular expressions, and full ECMAScript compliance.

Some details: Regular expressions will be identical to that of JavaScript. Types are used to store values as native machine types, improves performance and memory use. ECMAScript for XML is a thing where you can put XML right into your code in a more natural way. The XML actually is just typed into the code, like a number or string value would be. Plus, you can use dot-syntax to access it, rather than XML functions.

A mention of new functionality includes display list API, DOM event model and binary sockets. The binary sockets thing will, of course, enable you to send data types like arrays over a socket. It even includes zlib compression and an example of PNG-creation was mentioned.

The public beta of the Flash player 8.5 engine is athe, though it is connected to the Flex 2 alpha. Some documentation is there too.

Lastly, a demo of flocking was shown, first in Flash 7 (3.8 fps) and then Flash 8 (5.3 fps) and then Flash 8.5 (18 fps).

Posted on October 18, 2005 at 10:30 am by site admin · Permalink
In: General