Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Another Test


Published on

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

Another Test

  1. 1. What's new in ActionScript 3.0? Saying goodbye to 'skip intro'
  2. 2. Who is Peter Elst? <ul><li>Freelance Flash Platform Consultant </li></ul><ul><li>Active in the Flash community since 1998 </li></ul><ul><li>Adobe Community Expert, Adobe Certified Professional, Adobe Certified Instructor </li></ul><ul><li>Author of Flash MX Most Wanted Components, Object-Oriented ActionScript for Flash 8, Object-Oriented ActionScript 3.0 </li></ul><ul><li>Speaking engagements at Adobe MAX, FlashForward, FITC, Flash on the Beach, webDU,, Multi-Mania, Scotch on the Rocks,… </li></ul>
  3. 3. Who are you? <ul><li>Designer/Developer? </li></ul><ul><li>Experience in JavaScript, ActionScript, Java, nothing…? </li></ul><ul><li>Flash is good/bad? </li></ul>
  4. 4. What will we talk about <ul><li>What is ActionScript? </li></ul><ul><li>History of Flash and ActionScript </li></ul><ul><li>New features in ActionScript 3.0 </li></ul><ul><li>Interesting projects </li></ul><ul><li>Q&A </li></ul><ul><li>Feel free to interrupt, ask questions at any time - lets make it interesting </li></ul>
  5. 5. “ ActionScript is a scripting language based on ECMAScript (JavaScript), used primarily for the development of websites and software using the Adobe Flash Player platform…” - Wikipedia, February 2008
  6. 6. ECMAScript? <ul><li>ECMA-262 is a specification for a scripting language </li></ul><ul><li>JavaScript, ActionScript etc. are dialects </li></ul><ul><li>Adobe is heavily involved in defining ECMA-262 4th Edition, the basis on which ActionScript 3.0 is built </li></ul><ul><li>The new virtual machine in the Flash Player has been open sourced (November 2006) and donated to Mozilla for use in a future version of the Firefox browser </li></ul><ul><li> </li></ul>
  7. 7. Flash Player 9 <ul><li>New virtual machine added for ActionScript 3.0 </li></ul><ul><li>Optimized for performance </li></ul>
  8. 8. Flash Player 9 Statistics <ul><li>December 2007 survey indicates 93,4% adoption in Europe </li></ul>
  9. 9. Really? <ul><li>Yes and no </li></ul><ul><li>There is a huge install base, much higher than any other browser plug-in </li></ul><ul><li>Doesn't show individual dot releases </li></ul><ul><li>Flash Player adoption within corporate environments can be significantly lower </li></ul>
  10. 10. In the beginning there was…
  11. 11. &quot;A Brief History of Timeline&quot; <ul><li>1997 - Macromedia acquires FutureWave </li></ul><ul><li>Add support for stereo sound, bitmaps, library and release it as Flash 2 </li></ul>
  12. 12. &quot;A Brief History of Timeline&quot; <ul><li>1998 - Macromedia Flash 3 released </li></ul><ul><li>Adds support for movie clips, alpha transparency and JavaScript integration </li></ul>
  13. 13. &quot;A Brief History of Timeline&quot; <ul><li>1999 - Macromedia Flash 4 released </li></ul><ul><li>Support for input text fields, streaming MP3 and variables, loops, conditionals </li></ul>
  14. 14. &quot;A Brief History of Timeline&quot; <ul><li>2000 - Macromedia Flash 5 released </li></ul><ul><li>ActionScript 1.0, HTML text fields and bezier pen tool are introduced </li></ul>
  15. 15. &quot;A Brief History of Timeline&quot; <ul><li>2002 - Macromedia Flash MX released </li></ul><ul><li>Adds FLV video support, external MP3, Unicode and components </li></ul>
  16. 16. &quot;A Brief History of Timeline&quot; <ul><li>2004 - Macromedia Flash 2004 released </li></ul><ul><li>ActionScript 2.0, data components, data binding, screens based authoring </li></ul>
  17. 17. &quot;A Brief History of Timeline&quot; <ul><li>2005 - Macromedia Flash 8 is released </li></ul><ul><li>Adds new video codec with alpha transparency, filters, blend modes </li></ul>
  18. 18. Adobe acquires Macromedia <ul><li>Announced on April 18th 2005 </li></ul><ul><li>$3.4 billion offered for Macromedia </li></ul><ul><li>Start work on integration Creative Suite with Macromedia Studio products </li></ul>
  19. 19. ActionScript gets decoupled <ul><li>ActionScript is no longer unique to the Flash authoring environment </li></ul><ul><li>Flash Platform emerges </li></ul><ul><ul><li>Flash </li></ul></ul><ul><ul><li>Flex </li></ul></ul><ul><ul><li>Flash Lite </li></ul></ul><ul><ul><li>AIR </li></ul></ul>
  20. 20. Flex SDK goes open source <ul><li>April 25th 2007 - Flex SDK (command line compiler, component framework,…) get released under an MPL license </li></ul><ul><li>Lowers the threshold for adopting ActionScript 3.0 and MXML </li></ul>
  21. 21. Open Source Flash? <ul><li>Flash community has always been very open to sharing code </li></ul><ul><li>Initiative by Aral Balkan, May 2005 </li></ul><ul><ul><li> </li></ul></ul><ul><li>Open Source open doors </li></ul>
  22. 22. What changed in ActionScript 3.0? <ul><li>API consistency, everything is a class </li></ul><ul><li>DisplayList API </li></ul><ul><li>ECMAScript for XML (E4X) </li></ul><ul><li>DOM3 event model </li></ul><ul><li>Runtime errors </li></ul><ul><li>Namespaces </li></ul><ul><li>Binary sockets, ByteArray </li></ul><ul><li>Reflection API </li></ul><ul><li>… </li></ul>
  23. 23. API consistency <ul><li>No more underscores </li></ul><ul><ul><li>myMC._x -> myMC.x </li></ul></ul><ul><ul><li>myMC._alpha -> myMC.alpha </li></ul></ul><ul><li>Values from 0 to 1 rather than 0 to 100 </li></ul><ul><ul><li>myMC.alpha = .5; // 50 percent transparent </li></ul></ul><ul><li>No more createNewMovieClip, attachMovie </li></ul><ul><ul><li>var myMC:MovieClip = new MovieClip(); </li></ul></ul><ul><ul><li>var tf:TextField = new TextField(); </li></ul></ul>
  24. 24. DisplayList API <ul><li>Instances can be created in memory </li></ul><ul><li>Automatic depth management, more more getNextHighestDepth() </li></ul><ul><li>Allows re-parenting of display objects </li></ul><ul><ul><li>var myMC:MovieClip = new MovieClip(); </li></ul></ul><ul><ul><li>mcHolder1.addChild(myMC); </li></ul></ul><ul><ul><li>// move myMC to be a child of mcHolder2 </li></ul></ul><ul><ul><li>mcHolder2.addChild(myMC); </li></ul></ul>
  25. 25. ECMAScript for XML (E4X) <ul><li>XML is a native data type </li></ul><ul><li>Retrieve, filter nodes using dot notation </li></ul><ul><li><?xml version=&quot;1.0&quot;> <addressbook> <contact name=&quot;John&quot;> <email></email> </contact> <contact name=&quot;Wayne&quot;> <email></email> </contact> </addressbook> </li></ul>
  26. 26. ECMAScript for XML (E4X) <ul><li>Before </li></ul><ul><li>myXML.firstChild.childNodes[0].firstChild.nodeValue </li></ul><ul><li>ActionScript 3.0 </li></ul><ul><li>;John&quot;).email </li></ul>
  27. 27. DOM3 Event Model <ul><li>W3C - DOM Level 3 Event specification </li></ul><ul><li>Constants for event names </li></ul><ul><ul><li>MouseEvent.MOVE </li></ul></ul><ul><ul><li>TimerEvent.TIMER </li></ul></ul><ul><li>Supports event bubbling </li></ul>
  28. 28. Runtime error checking <ul><li>Flash Player 9 does runtime error checking </li></ul><ul><li>Error dialog when debug Flash Player is installed </li></ul>
  29. 29. Namespaces <ul><li>Namespaces are introduced for XML and to differentiate methods </li></ul><ul><li>Using the 'use' keyword the compiler knows the scope of which particular namespace to use </li></ul>
  30. 30. Binary Sockets <ul><li> class allows data to be sent over a socket connection </li></ul><ul><li>Makes it possible to implement all sorts of protocols directly in ActionScript 3.0: </li></ul><ul><ul><li>IRC, POP3, SMTP, FTP,… </li></ul></ul>
  31. 31. Reflection API <ul><li>Classes can describe themselves </li></ul><ul><li>Return an XML document with all public methods, properties, inheritance chain. </li></ul><ul><li>describeType() </li></ul>
  32. 32. AlivePDF <ul><li>ActionScript 3.0 library for creating PDF documents on the fly </li></ul><ul><li>Created by Thibault Imbert </li></ul><ul><li> </li></ul>
  33. 33. FZip <ul><li>AS3 Library to read in .zip files </li></ul><ul><li>Created by Claus Wahlers </li></ul><ul><li> </li></ul>
  34. 34. FC64 <ul><li>Commodore 64 emulator </li></ul><ul><li>Created by Claus Wahlers and Darron Schall </li></ul><ul><li> </li></ul>
  35. 35. FlashVNC <ul><li>VNC client written in ActionScript 3.0 </li></ul><ul><li>Created by Darron Schall </li></ul><ul><li> </li></ul>
  36. 36. Papervision3D <ul><li>High performance ActionScript 3D engine </li></ul><ul><li>Project started by Carlos Ulloa </li></ul><ul><li> </li></ul>
  37. 37. What will the future bring? <ul><li>Further compliance to ECMA-262 </li></ul><ul><li>Inverse Kinematics API,… </li></ul><ul><li>Tamarin-Tracing VM </li></ul>
  38. 38. Want to learn more? <ul><li>Books </li></ul><ul><ul><li>Object-Oriented ActionScript 3.0 </li></ul></ul><ul><ul><li>Essential ActionScript 3.0 </li></ul></ul><ul><li>Online resources </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><li>Course </li></ul><ul><ul><li>SkillsMatter - Core ActionScript: Object Oriented ActionScript in Practice </li></ul></ul><ul><ul><ul><li>April 17-18th </li></ul></ul></ul><ul><ul><ul><li>July 10-11th </li></ul></ul></ul>
  39. 39. Q&A <ul><li>What do you think? </li></ul><ul><li>What features are you most excited about? </li></ul><ul><li>What is still missing? </li></ul><ul><li>… win a book! </li></ul>
  40. 40. Thanks! <ul><li>Feel free to get in touch </li></ul><ul><ul><li>Blog: </li></ul></ul><ul><ul><li>Email: [email_address] </li></ul></ul><ul><ul><li>LinkedIn: </li></ul></ul><ul><ul><li>Twitter: peterelst </li></ul></ul>