Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ActionScript
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Timeline by ActionScript version=== ====2000–2004: ActionScript "1.0" ==== With the release of Flash 5 in September 2000, the "actions" from Flash 4 were enhanced once more and named "ActionScript" for the first time.<ref>{{Cite web|url=https://helpx.adobe.com/x-productkb/multi/release-notes-flash-player-11.html|title=Flash Player 11, AIR 3 Release Notes|website=helpx.adobe.com|access-date=2016-10-07}}</ref> This was the first version of ActionScript with influences from [[JavaScript]] and the [[ECMA-262]] (Third Edition) standard, supporting the said standard's object model and many of its core [[data type]]s. Local variables may be declared with the {{Mono|var}} statement, and user-defined [[function (computer science)|functions]] with [[parameter (computer science)|parameter]] passing and [[return statement|return]] values can also be created. Notably, ActionScript could now also be typed with a text editor rather than being assembled by choosing actions from drop-down lists and dialog box controls. With the next release of its authoring tool, Flash MX, and its corresponding player, [[Adobe Flash Player|Flash Player 6]], the language remained essentially unchanged; there were only minor changes, such as the addition of the {{Mono|switch}} statement and the "strict equality" ({{Mono|1====}}) operator, which brought it closer to being [[ECMA-262]]-compliant. Two important features of ActionScript that distinguish it from later versions are its loose type system and its reliance on prototype-based [[inheritance (object-oriented programming)|inheritance]]. Loose typing refers to the ability of a [[variable (programming)|variable]] to hold any type of data. This allows for rapid script development and is particularly well-suited for small-scale scripting projects. Prototype-based inheritance is the ActionScript 1.0 mechanism for code reuse and object-oriented programming. Instead of a {{Mono|class}} keyword that defines common characteristics of a [[class (computer science)|class]], ActionScript 1.0 uses a special object that serves as a "prototype" for a class of objects. All common characteristics of a class are defined in the class's prototype object and every [[Instantiation (computer science)|instance]] of that class contains a link to that prototype object. ====2003–2006: ActionScript 2.0 ==== The next major revision of the language, ActionScript 2.0, was introduced in September 2003 with the release of Flash MX 2004 and its corresponding player, [[Adobe Flash Player|Flash Player 7]]. In response to user demand for a language better equipped for larger and more complex applications, ActionScript 2.0 featured compile-time [[type checking]] and class-based [[syntax of programming languages|syntax]], such as the keywords {{Mono|class}} and {{Mono|extends}}. While this allowed for a more structured object-oriented programming approach, the code would still be compiled to ActionScript 1.0 [[bytecode]], allowing it to be used on the preceding Flash Player 6 as well. In other words, the [[Class-based programming|class-based]] inheritance syntax was a layer on top of the existing prototype-based system. With ActionScript 2.0, developers could constrain [[variable (programming)|variables]] to a specific type by adding a type annotation so that type mismatch errors could be found at [[compile-time]]. ActionScript 2.0 also introduced class-based inheritance syntax so that developers could create classes and interfaces, much as they would in class-based languages such as [[Java (programming language)|Java]] and [[C++]]. This version conformed partially to the [[ECMAScript]] Fourth Edition draft specification. ====2006–2020: ActionScript 3.0==== In June 2006, ActionScript 3.0 debuted with [[Adobe Flex|Adobe Flex 2.0]] and its corresponding player, [[Adobe Flash Player|Flash Player 9]]. ActionScript 3.0 was a fundamental restructuring of the language, so much so that it uses an entirely different [[virtual machine]]. Flash Player 9 contains two virtual machines, AVM1 for code written in ActionScript 1.0 and 2.0, and AVM2 for content written in ActionScript 3.0. ActionScript 3.0 added limited support for [[hardware acceleration]] ([[DirectX]], [[OpenGL]]). The update to the language introduced several new features: * [[Compile-time]] and [[Run time (program lifecycle phase)|run-time]] type checking—type information exists at both compile-time and runtime. * Improved performance from a class-based inheritance system separate from the prototype-based inheritance system. * Support for [[Java package|packages]], [[namespace]]s, and [[regular expressions]]. * Compiles to an entirely new type of [[bytecode]], incompatible with ActionScript 1.0 and 2.0 bytecode. * Revised Flash Player [[API]], organized into [[Java package|packages]]. * Unified [[event handling]] system based on the [[DOM Events|DOM event handling]] standard. * Integration of [[ECMAScript for XML]] (E4X) for purposes of [[XML]] processing. * Direct access to the Flash [[run-time system|runtime]] display list for complete control of what gets displayed at runtime. * Completely conforming implementation of the [[ECMAScript]] fourth edition draft specification. * Limited support for dynamic 3D objects. (X, Y, Z rotation, and texture mapping)
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)