ActionScript

linguaggio di programmazione
Versione del 21 gen 2016 alle 15:37 di Bottuzzu (discussione | contributi) (apostrofo tipografico)

ActionScript (AS) è il linguaggio di scripting di Adobe Flash, software che affonda le proprie radici nella grafica vettoriale ma che, anche grazie alla diffusione del plugin, si è ritagliato un proprio spazio nella realizzazione di applicazioni dinamiche, oltre che nella realizzazione di siti web e animazioni. Actionscript si basa su ECMAScript e la sua sintassi, almeno fino alla versione 6 del Flash Player, è molto simile a JavaScript dal quale poi diverge in molto di ciò che riguarda le feature di OOP (dal Flash Player 7 il linguaggio si basa su classi e non utilizza la proprietà prototype per stabilire l'ereditarietà).

ActionScript è un linguaggio di alto livello, che viene interpretato come il Javascript (o pseudocompilato). La sua esecuzione è infatti affidata al compilatore nativo di Flash Player, l'Actionscript Virtual Machine (AVM e AVM2).

Storia

ActionScript fece il suo debutto come linguaggio di scripting, con una sintassi diversa da quella attuale, nella versione 5 di Flash, che fu la prima versione di Flash con un ampio supporto per la programmazione. Questa versione di ActionScript venne denominata a posteriori ActionScript 1.0.

La versione Flash 6 (o MX) ha allargato notevolmente le funzionalità, aggiungendo un discreto numero di funzioni, che permettono un migliore controllo degli elementi di un filmato. Flash 7 (MX 2004) ha introdotto ActionScript 2.0, che come novità annovera molteplici elementi della programmazione ad oggetti: interfacce, creazione di classi, ereditarietà.

Con Adobe Flash CS3 è stata distribuita l'ultima versione di ActionScript, la terza. ActionScript 3 è più simile a ECMAScript, completando il processo di avvicinamento già iniziato con la seconda versione.

Sintassi

ActionScript è un linguaggio orientato agli oggetti, supportante quindi la creazione di classi, e l'uso di quelle già esistenti.

Le classi sono un'estensione del linguaggio base di ActionScript e possono essere create e condivise dai programmatori. Classici esempi sono le classi sandy 3d e papervision 3d che permettono di utilizzare un ambiente tridimensionale nativamente non incluso in flash. Esse vengono scritte all'interno di un semplice file testuale che ha come estensione .as. In più ci sono diverse classi già disponibili come MovieClip, che può essere usata per disegnare i vettori sullo schermo dinamicamente. Le classi facilitano la creazione di nuovi progetti, esse possono essere trasferite anche da un progetto all'altro, se necessario.

Il codice ActionScript è il più delle volte scritto usando la suite di sviluppo di Flash che offre documentazione, suggerimenti durante la stesura del codice, ed evidenziamento della sintassi, rendendola più leggibile. Spesso, L'estensione dei sorgenti è .fla. Come detto in precedenza, il codice ActionScript e le animazioni dalla versione CS3 possono anche essere importate da file di testo esterni, che possono essere scritti attraverso l'editor incluso in Flash mediante una comoda interfaccia o attraverso Motion Twin ActionScript2 Compiler (MTASC).

Esempio

var a:Number=10;
var b="4";
var c=15;
if(a!=(Number(b)+c)){
   gotoAndPlay(3);
} else {
   trace(_root.a+"!="+_root.b+"+"+_root.c);
}

Cronologia

  • Flash Player 2: Prima versione con supporto per lo scripting, comandi inclusi gotoAndPlay, gotoAndStop, nextFrame e nextScene per gestire inizio e termine dei filmati.
  • Flash Player 3: Aumenta le funzionalità base del linguaggio aggiungendo la possibilità di caricare file esterni .swf (mediante il comando loadMovie).
  • Flash Player 4: Aggiunge alcune caratteristiche. Questa è la versione del linguaggio su cui si basano le versioni di Flash Lite 1.0 e 1.1.
  • Flash Player 5: Include la prima versione di ActionScript 1.0. Usa un prototipo del linguaggio ECMAScript, permette la programmazione orientata agli oggetti.
  • Flash Player 6: Aggiunto un gestore di eventi, e introduzione di switch.
  • Flash Player 7: Offre alcune nuove funzioni come il supporto ai fogli di stile e un incremento delle prestazioni del player in termini di consumo di risorse. I compilatori Flash, della Macromedia, distribuiti insieme al Flash Player 7 supportano ActionScript 2.0 (e nuovi componenti, atti ad automatizzare molte operazioni, ad esempio l'inclusione di audio) più orientato agli oggetti della versione precedente, basato su ECMAScript. È possibile compilare anche i sorgenti in maniera tale da renderli compatibili con le versioni precedenti di Flash (compilando attraverso il bytecode della versione 1.0).
  • Flash Player 8: Nuove aggiunte ad ActionScript 2.0 con nuove librerie con API per gestire le immagini formato bitmap e l'upload dei file.
  • Flash Player 9: Inizialmente chiamato Flash Player 8.5. Supporta ActionScript 3.0 e una nuova virtual machine, AVM2 (ActionScript Virtual Machine 2) che riduce di molto il consumo di risorse permettendo lo sviluppo di giochi più complessi e l'accesso ad alcuni siti da parte di computer obsoleti. L'obiettivo di questa versione era un incremento delle prestazioni raggiunta attraverso un nuovo compilatore JIT. Questa è stata la prima versione di Flash chiamata Adobe Flash Player, in seguito all'acquisizione di Macromedia da parte di Adobe.
  • Flash Player 10: Offre il supporto alla creazione di interfacce con immagini 2D in un ambiente 3D, grazie alle API dedicate.

Adobe ha introdotto la tecnologia Pixel Bender, che consente di creare e condividere filtri, metodi di fusione e riempimenti in tempo reale. Flash Player 10 permette la lettura dei dati binari dei file musicali e l'accesso diretto al sound buffer; inoltre consente di creare nuovi tipi di applicazioni audio, quali mixer e sequencer di musica, file audio in real time per i videogiochi e visualizzatori audio. Per quanto riguarda i formati Video Flash Player 10 permette di gestire lo streaming in maniera dinamica e prevede il supporto a bitrate multipli.

  • Flash Lite: È una versione realizzata appositamente per i cellulari e le apparecchiature portatili, attualmente alla versione 3 supportata da flash CS3.

Voci correlate

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica