ActionScript é umalinguagem de scriptorientada a objetos baseada noECMAScript, utilizada principalmente para construção de aplicaçõesRIA (do inglês RIA: Rich Internet Applications (Aplicações Ricas de Internet)). É executada em umamáquina virtual (AVM - "ActionScript Virtual Machine"), atualmente na versão 3 que está disponível noAdobe Flash Player (plug-in encontrado em navegadores web) e também no ambienteAdobe AIR.[1]
Adobe ActionScript é umalinguagem de programação da plataformaAdobe Flash. Originalmente desenvolvida como um meio para os desenvolvedores programarem dinamicamente, melhorando a eficiência do desenvolvimento de aplicações na plataforma Flash, desde uma imagem simples a uma complexa animação.[2]
Embora esteja na terceira versão, existem duas versões lançadas como ActionScript: as versões 1.0 e 2.0 (a versão 1.0 foi nomeada somente quando a versão 2.0 foi lançada).[carece de fontes?]
- Tipos em tempo de compilação e dinamicamente tipados em tempo de execução
- Orientação a objetos baseada em protótipos, novas classes criadas a partir da extensão de outras preexistentes
- Tipo primitivo numérico. Um apenas :Number, ponto flutuante com dupla precisão
Exemplo de ActionScript 2.0:
botao.onRel=function(){escreve()}functionescreve(){texto.text="Olá, mundo!"}Nesta versão foram introduzidos novos recursos como:
- Verificação de tipos em tempo de compilação e de execução: os tipos são agora preservados em tempo de execução. O Flash Player faz verificação de tipos no momento da execução. Estas informações de tipo também são utilizadas na máquina virtual para melhorar desempenho e reduzir uso de memória;
- Exceções em tempo de execução: Erros em tempo de execução disponibilizam estado da pilha ("stack traces") com indicação de arquivo fonte e número de linhas, como em Java, para rápida identificação de onde o erro foi gerado;
- Separação do sistema de herança de classes do sistema de herança de prototipação utilizado na versão anterior: Vários recursos que antes eram disponibilizados por funções de biblioteca foram incluídos na linguagem;
- Classes seladas: o comportamento padrão é que as classes não podem ser estendidas em tempo de execução, melhorando a alocação de memória e mantendo a aplicação mais segura. Classes dinâmicas podem ser utilizadas se definidas com o modificadordynamic;
- Suporte a pacotes (package), como em Java,namespaces;
- Métodos comclausura: as clausuras nos métodos guardam o estado dos objetos dos quais se originaram;
- A API do flash player foi reorganizada empackages;
- Sistema unificado de tratamento de eventos baseado noDocument Object Model;
- Integração do ECMAScript para XML (chamadaE4X). A antiga API, da versão 2.0, ainda existente;
- Acesso direto à lista de componentes do Flash em tempo de execução, permitindo controle completo em ActionScript;
- Implementação da especificação do ECMAScript (quarta edição);
- Expressões regulares: suporte nativo a expressões regulares;
- Novos tipos primitivos númericos:int (com sinal) euint (sem sinal), ambos com 32 bits.
Exemplo de ActionScript 3.0:
botao.addEventListener(MouseEvent.CLICK,escreve)functionescreve(e:MouseEvent){texto.text="Olá, mundo!"}Desenvolvido pela empresa Macromedia, hoje controlado pela Adobe (que comprou a Macromedia em 2005), o ActionScript começou como uma linguagem de script para a ferramentaMacromedia Flash. As primeiras três versões das ferramentas Flash possuíam recursos de interatividade limitados. Os programadores podiam incluir comandos simples, chamados de "action", a um botão ou frame. O conjunto de ações era limitado a controles de navegação básicos, com comandos como "play", "stop", "getURL", e "gotoAndPlay".[carece de fontes?]
Com a introdução do Flash 4 em 1999, o conjunto de ações foi incrementado e gerou uma linguagem de scripts. Novos recursos como variáveis, expressões, operadores diversos, blocos de condição ("if"), e loops foram adicionados. Apesar de ser chamado internamente de "ActionScript", o manual do Flash 4 e documentos de marketing continuaram a usar o termo "actions" para descrever a linguagem.[carece de fontes?]
- Flash Lite 1.0 e 1.1: Flash Lite tem foco em aplicações móveis e dispositivos eletrônicos. Flash Lite 1.1 utilizava Flash 4 ActionScript;
- Flash Lite 2.1: Suporte à versão 2 do ActionScript (Flash 7);
- Flash Player 2: Primeira versão com suporte a scripts, comandos incluíam gotoAndPlay, gotoAndStop, nextFrame e nextScene para controlo da timeline;
- Flash Player 3: Capacidade de carregar arquivosSWFs externos (loadMovie);
- Flash Player 4: Primeiro Flash com implementação completa da linguagem de scripts (chamadas deActions). A linguagem possuía recursos como loops, condicionais (if), variáveis e outras construções de linguagem básicas;
- Flash Player 5: Primeira versão completa do ActionScript. Utilizava programação baseada em protótipos (classes) não disponível onde os objetos são clonados a partir de um protótipo ECMAScript. Disponibilizava completa linguagem de programação que podia ser utilizada de forma procedural ou orientada a objetos;
- Flash Player 6: Modelo para tratamento de eventos adicionado, suporte a seleção múltipla (switch);
- Flash Player 7: Incluiu suporte ao CSS e melhoria no desempenho de execução. Compiladores foram disponibilizados juntamente com o Flash Player 7, com possibilidade de traduzir ActionScript 2.0 e incluir também suporte a definição de classes com base no ECMAScript 4. Adicionalmente, o ActionScript 2.0 também podia ser compilado para ActionScript 1.0byte-code, portanto compatível com o Flash Player 6;
- Flash Player 8: Mais recursos adicionados ao ActionScript 2.0, como nova biblioteca de classes e nova funções de API;
- Flash Player 9 (inicialmente chamado 8.5): ActionScript 3.0 introduzido, bem como uma nova máquina virtual chamada de AVM2 (ActionScript Virtual Machine 2). A AVM 2 coexiste com a versão anterior para fornecer compatibilidade a todas as versões do ActionScript no Flash Player 9. Melhoria do desempenho foi alcançada com um novo compilador JIT ("Just In Time"). Agora chamado deAdobe Flash Player.
- 2000–2003 - ActionScript 1.0
Lançadas com a versão 5 do Flash em setembro de2000, asactions do Flash 4 foram incrementadas e passaram a ser chamadas deActionScript pela primeira vez. O nome "ActionScript 1.0" foi adotado apenas depois da introdução do ActionScript 2.0. Tinha influência doJavaScript e do padrãoECMA-262 (terceira edição).[carece de fontes?]
- 2003–2006 - ActionScript 2.0
Na versão 2.0, introduzida em setembro de2003 com o lançamento do Flash MX 2004 e do Flash Player 7. Introduziu verificação de tipos e classes e herança. Esta versão seguia o padrão ECMAScript (quarta edição), mas apenas parcialmente.[carece de fontes?]
- 2006–atual - ActionScript 3.0
Lançado em junho de2006, a versão 3.0 do ActionScript foi lançada em conjunto com o ambiente de desenvolvimentoAdobe Flex 2.0 e oFlash Player 9. Uma reestruturação da linguagem com uma nova máquina virtual.[carece de fontes?]
Referências