ActionScript

ActionScript
Paradigma Multiparadigma
Surgido em 1998
Última versão 3.0 (27 de junho de 2006)
Criado por Gary Grossman
Estilo de tipagem estática, forte
Principais implementações Adobe Flash, Adobe Flex, e Adobe AIR
Influenciada por Java, JavaScript, e ECMAScript
Influenciou Haxe
Licença IDE proprietário, compilador código aberto
Extensão do arquivo .as
Página oficial www.adobe.com/devnet/actionscript

ActionScript é uma linguagem de script orientada a objetos baseada no ECMAScript, utilizada principalmente para construção de aplicações RIA (do inglês RIA: Rich Internet Applications (Aplicações Ricas de Internet)). É executada em uma máquina virtual (AVM - "ActionScript Virtual Machine"), atualmente na versão 3 que está disponível no Adobe Flash Player (plug-in encontrado em navegadores web) e também no ambiente Adobe AIR.[1]

A linguagem

Adobe ActionScript é uma linguagem de programação da plataforma Adobe 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?]

ActionScript 2.0

  • 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()
}
function escreve(){
   texto.text = "Olá, mundo!"
}

ActionScript 3.0

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 modificador dynamic;
  • Suporte a pacotes (package), como em Java, namespaces;
  • Métodos com clausura: as clausuras nos métodos guardam o estado dos objetos dos quais se originaram;
  • A API do flash player foi reorganizada em packages;
  • Sistema unificado de tratamento de eventos baseado no Document Object Model;
  • Integração do ECMAScript para XML (chamada E4X). 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) e uint (sem sinal), ambos com 32 bits.

Exemplo de ActionScript 3.0:

botao.addEventListener(MouseEvent.CLICK, escreve)
function escreve(e:MouseEvent){
   texto.text = "Olá, mundo!"
}

História

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 ferramenta Macromedia 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?]

Versões do Flash

  • 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 arquivos SWFs externos (loadMovie);
  • Flash Player 4: Primeiro Flash com implementação completa da linguagem de scripts (chamadas de Actions). 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.0 byte-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 de Adobe Flash Player.

Versões do ActionScript

2000–2003 - ActionScript 1.0

Lançadas com a versão 5 do Flash em setembro de 2000, as actions do Flash 4 foram incrementadas e passaram a ser chamadas de ActionScript pela primeira vez. O nome "ActionScript 1.0" foi adotado apenas depois da introdução do ActionScript 2.0. Tinha influência do JavaScript e do padrão ECMA-262 (terceira edição).[carece de fontes?]

2003–2006 - ActionScript 2.0

Na versão 2.0, introduzida em setembro de 2003 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 de 2006, a versão 3.0 do ActionScript foi lançada em conjunto com o ambiente de desenvolvimento Adobe Flex 2.0 e o Flash Player 9. Uma reestruturação da linguagem com uma nova máquina virtual.[carece de fontes?]

Referências

  1. «Adobe AIR Technologies» (em inglês). Adobe. Consultado em 20 de janeiro de 2011 
  2. «Learn ActionScript» (em inglês). Adobe. Consultado em 20 de janeiro de 2011 

Ver também

Ligações externas

Wikilivros
Wikilivros
O Wikilivros tem mais informações sobre ActionScript