ActionScript: Difference between revisions

Content deleted Content added
m Add TypeScript to influenced languages, mirroring what is on the TypeScript page
m upd links
Line 50:
* '''Flash Player 5''': Included in the first version of ActionScript, it used [[prototype-based programming]] based on ECMAScript,<ref>{{cite web|url=http://www.ecma-international.org/publications/standards/Ecma-262.htm |title=Standard ECMA-262 |publisher=Ecma-international.org |access-date=April 22, 2013}}</ref> and allowed full [[procedural programming]] and object-oriented programming. Design based development.
* '''Flash Player 6''' added an event-handling model, accessibility controls, and support for [[switch statement|switch]]. The first version with support for the [[Action Message Format|AMF]] and [[Real Time Messaging Protocol|RTMP]] protocols allowed for on demand audio/video streaming.
* '''Flash Player 7''': Additions to it include CSS styling for text and support for ActionScript 2.0, a programming language based on the ECMAScript 4 Netscape Proposal.<ref>{{cite web|url=http://www.mozilla.org/js/language/es4.html |archive-url=https://web.archive.org/web/20070711065258/http://www.mozilla.org/js/language/es4.html |url-status=dead |archive-date=July 11, 2007 |title=ECMAScript 4 Netscape Proposal |publisher=[[Netscape]] |editor=Waldemar Horwat |date=June 30, 2003 |access-date=April 11, 2019 }}</ref> with [[class (computer science)|class]]-based [[inheritance (computerobject-oriented scienceprogramming)|inheritance]]. However, ActionScript 2.0 can [[cross compile]] to ActionScript 1.0 [[byte-code]], so that it can run in Flash Player 6.
* '''Flash Player 8''' further extended ActionScript 1/ActionScript 2 by adding new class libraries with APIs for controlling bitmap data at run-time, file uploads, and live filters for blur and dropshadow.
* '''Flash Player 9 (initially called 8.5)''' added ActionScript 3.0 with the advent of a new virtual machine, called [[ActionScript Virtual Machine 2]] (AVM2), which coexists with the previous AVM1 needed to support legacy content. Performance increases were a major objective for this release of the player, including a new [[Just In Time compilation|JIT]] compiler. Support for binary sockets, [[E4X]] XML parsing, full-screen mode, and regular expressions were added. This is the first release of the player to be titled Adobe Flash Player.<ref>{{cite web|url=https://www.adobe.com/products/flashplayer |title=Flash Player &#124; Adobe Flash Player 11 &#124; Overview |publisher=Adobe.com |date=April 9, 2013 |access-date=April 22, 2013}}</ref>
Line 65:
===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 (computerobject-oriented scienceprogramming)|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 ====