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 |
Influenciada por | Java, JavaScript |
Licença | IDE proprietário, compilador código aberto |
Página oficial | www.adobe.com/devnet/actionscript |
ActionScript é uma linguagem de script orientada a objetos baseada em 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 aplicacões na plataforma Flash, desde uma imagem simples à 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 pré-existentes
- Tipo primitivo numérico. Um apenas :Number, ponto flutuante com dupla precisão
Exemplo de ActionScript 2.0:
botao.onRelease = function(){
escreve()
}
function escreve(){
texto.text = "Olá, mundo!"
}
ActionScript 3.0
Nesta versão foram introduzidos novos recursos:
- 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 era 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 da qual 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 à 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 é controlada 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 possuiam recursos de interatividade limitados. Os programadores podiam incluir comandos simples, chamados de "action", à um botão ou frame. O conjunto de ações era limitado a controles de navegação básicos, com comandos como "play", "stop", "get URL", e "goto and play".[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 possuia 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 orienta à objetos
- Flash Player 6: Modelo para tratamento de eventos adicionado, suporte a seleção múltipla (switch)
- Flash Player 7: Flash Player 7 incluiu suporte ao CSS e melhoria no desempenho de execução. Compilador foram disponibilizados juntamente com o Flash Player 7, com possibilidade de traduzir ActionScript 2.0 e inclui 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 à todas 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çado 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 verifcaçã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
- ↑ «Adobe AIR Technologies» (em inglês). Adobe. Consultado em 20 de janeiro de 2011
- ↑ «Learn ActionScript» (em inglês). Adobe. Consultado em 20 de janeiro de 2011
Ver também
Ligações externas
- «Sítio oficial» (em inglês)
- «ActionScript Padrões de Programação» (PDF) (em inglês)
- «Padrão ECMAScript» (em inglês)