Title: Welcome to the PittMFUG
1Welcome to the PittMFUG
July 20th 2006 Meeting
2Agenda
Ben Pritchard Flash 9 Alpha / ActionScript 3
Josh Sager Tween Class Freestyle
Software Awarded / Social Meeting
3Ben Pritchard
Flash 9 Alpha / ActionScript 3
4Flash 9 Alpha / ActionScript 3
WHAT IS NEW New VM (Virtual Machine) Perfo
rmance Goal of 10x Performance Improvements
New Flash Player 9 Contains both the Flash 1-8
Player and a serperate new VM for Flash 9
a Just In Time (JIT) compiler that provides a
x10 speed improvement in code execution
Built in raw data socket support using binary
sockets, which means that the Flash Player can
accept raw binary data, which combined with the
10x faster code execution, leaves the field wi
de open for some serious mathematical heavy-li
fting with custom parsing, cryptography and
compression algorithms in Flash
ECMAScript for XML (E4X) Regular expressi
ons A standardized DOM event model, including
event bubbling
5Flash 9 Alpha / ActionScript 3
WHAT IS NEW (continued) Namespaces and Packages
improve code organization and encourage
logical application structure.
Enhanced debugging and profiling data reduce t
esting time and facilitate integrating Flash a
pplications into automated testing environments.
Improved error handling and exceptions enabl
e the development of more secure, robust appli
cations. Increase content and application spe
eds through faster application
startup times and a 50 reduction in memory
footprint. Accelerate rendering performance
through more efficient, cached vector
graphics. Improve text readability and get
faster, smoother scrolling of large text
blocks with optimized text rendering routines.
6Flash 9 Alpha / ActionScript 3
Runtime natively supports classes
class A var aNumber 3.14 var bString
a string var cint -1 public function
A() trace(Constructor) public funct
ion method() trace(A.method)
What that compiles to in AS2...
_global.A function () this.a 3.14 this.b
a string this.c -1 trace(Constructor
) _global.A.prototype.method function ()
trace(A.method)
7Flash 9 Alpha / ActionScript 3
In ActionScript 2.0 Type annotations were a co
mpiler hint Type information did not reach all
the way down to the runtime All values were sto
red as dynamically typed atoms
Atoms are the most primitive value in the
AS1/AS2 system a single dynamically typed valu
e. Atoms still exist in AS3, but only when type
is unknown Type annotations were a best pra
ctice for developer productivity
In ActionScript 3.0 Type annotations are e
mployed to efficiently store values as native
machine types Type annotations improve perfor
mance and reduce memory consumption
Type annotations are essential to getting best
performance and memory characteristics
8Flash 9 Alpha / ActionScript 3
Method Closures Often, developers write event han
dling code with anonymous function
closures class Form function setupEvents()
var f function(eventEvent) trace(my
handler) grid.addEventListener(click,
f)
9Flash 9 Alpha / ActionScript 3
Method Closures Nested functions cause the outer
function to create an activation object.
This has some performance and memory impact.
class Form function setupEvents() var f
function(eventEvent) trace(my handler)
grid.addEventListener(click, f)
10Flash 9 Alpha / ActionScript 3
Method Closures Method closures solve the age-old
AS2 problem of this changing
Eliminates need for mx.utils.Delegate class from
Flex 1.x import mx.utils.Delegate class Form
function setupEvents() grid.addEventListene
r(click, Delegate.create(this, f)) // No mor
e! function f(e) trace(my handler)
11Flash 9 Alpha / ActionScript 3
Method Closures Method closures are convenient to
use, and more efficient, because there
wont be an activation object created.
class Form function setupEvents() grid.ad
dEventListener(click, f) function f(event
Event) trace(my handler)
12Flash 9 Alpha / ActionScript 3
MMgc Garbage Collector Overview
Reusable C/C library Used by AVM1, AVM2 and
Players display list Not specific to Flash Pl
ayer new/delete (unmanaged memory) new w/ op
tional delete (garbage collection)
memory debugging aids profiling All about
speed, 20 speedup from 7 to 8
13Flash 9 Alpha IDE / AS 3 Demo
14Freestyle
15Thanks
BBF Solutions, Inc.
16Thanks