Vou iniciar uma série de dicas e exemplos de action script 3 para iniciantes nesta linguagem.
Actualmente o Action Script 3 é utilizado no Flash CS3 e no Flex, e a curto termo irá substituir por completo o Action Script 2 que muitos fãs tem… Uma vez que o AS3 inclui bastantes mudanças em relação à sua versão anterior obriga a que os programadores AS2 tenham bastante paciência para aprender uma "quase nova" linguagem de programação visto que o AS2 tornar-se-à obsoleto dentro de muito pouco tempo.
O meu objectivo com esta série de artigos é dar a entender a linguagem, conceitos e elabora alguns simples exemplos.
Vou-me basear em alguns exemplos que já dei, alguns livros e uma enorme quantidade de referencias que no final serão todas publicadas. Tentarei colocar uma dica por dia e quando tiver material suficiente começarei a publicar em pdf.
Começando.
1.Introdução.
O que é o Action Script 3?
O action script 3 nasceu da necessidade de conseguir ter uma melhor performance nas aplicações e animações flash, actualmente sabe-se que teria necessariamente que ser implementadas alterações de raiz no action script 2 para que este pudesse ter a performance do actual AS3, por isso foi preferível quase que criar a linguagem de novo à parcial alteração do AS2. A linguagem AS3 é literalmente tratada à parte da AS2 pela runtime do flash player, pelo que logo aí se pode concluir que são mesmo diferentes a nível de código e de performance também.
O grande ponto forte do AS3 é que este é essencialmente focado em Programação Orientada a Objectos, pelo que muitos programadores sentirão dificuldades em compreender bastantes aspectos desta linguagem. Claro que os programadores Java partem em vantagem para a aprendizagem, mas para todos os outros fica uma dica. O AS3 não é nenhum bicho de 7 cabeças, e a sua vertente OOP torna as coisas muito simples, rápidas e organizadas. Para os programadores AS2 as coisas não serão muito fáceis, muito pelo facto de à primeira vista muitas coisas possam ser compreendidas e interpretadas como no AS2, mas posso vos dizer por experiência própria que depois de se aprender as bases, torna-se "quase mais" simples que o AS2.
Um dos grandes problemas que se apresentam ao programar em Action Script 3 é a impossibilidade de programar usando AS3 e AS2 mutuamente, porque como já foi dito em cima eles são tratados de forma diferente pelo Flash Player, logo se querem testar o AS3, terão obrigatoriamente de saber alguns pontos da linguagem.
Uma grande diferença do AS3 é que este exige obrigatoriamente/estritamente a declaração de variáveis, argumentos, funções e seus valores devolvidos, mesmo que a função não devolva nada ou o argumento nulo. Na versão anterior, AS2, esta declaração era opcional, pelo que uma simples função:
function olaMundo() {
}
funcionava exactamente igual a
function olaMundo():void {}
No AS3, o primeiro método foi eliminado, pelo que todas as funções, argumentos e valores devolvidos (return’s) têm que ser devidamente declarados.
A nível sintático de linguagem, muitas coisas foram eliminadas, outras simplificadas e ainda outras melhoradas, tais como os muitos métodos de adicionar objectos à display list (main stage) foram agora simplificados e reduzidos a apenas 2 comandos para adicionar um "child" e remove-lo.
A nivél de eventos, existem muitas melhorias no AS3, visto que agora quase todos os elementos gráficos podem ser sujeitos a "escutas" de eventos, separando por completo cada um o que permite uma maior autonomia bem como versatilidade.
Existem também melhoramentos ao nível do trabalho com XML que podem ser agora manipulados quase como objectos/items no AS, bem como o melhoramento dos elementos de texto, permitindo agora um melhor controlo sobre texto.
Foram também adicionadas bastantes melhorias no que diz respeito ao trabalho com sons, video, dados de uma linguagem server-side e objectos em si.
O Action Script é directamente orientado para a plataforma Flash, pelo que está sempre dependente da Adobe, mas actualmente com a evolução do mudo das Aplicações Ricas para Internet, já começamos a assistir a uma tendência de extender esta linguagem para aplicações desktop, embora ainda baseadas na plataforma Flash, já apresenta um grau de independência enorme, isto tudo graças à plataforma AIR.
Uma classica estrutura de Objectos e sua Linguagem Orientada, é que podemos ter um objecto Principal (Collection), e depois as suas categorias internas (Classes), que por si são um conjunto de código vejamos com o exemplo:
Tranportes como objecto principal, dentro dele podemos ter Carro, Avião, Moto e Autocarro e dentro de cada um destes temos os seus procedimentos, imaginemos:
Transportes -> Carro -> Levo 5 pessoas
-> Avião -> Levo 350 pessoas
-> Moto -> Levo 2 Pessoas
-> Autocarro -> Levo 50 Pessoas
O processo de dividir o código por pequenas instâncias chama-se "Encapsulation", que é uma das imagens de marca do AS3.
Poderemos ainda ter uma cadeia, no exemplo do carro:
Transporte -> Carro -> Bancos da frente -> 2 Pessoas
-> Bancos de trás -> 3 Pessoas
Este processo chama-se inheritance, que é o processo de podermos implementar/extender uma das classes base, neste caso extendemos a class Carro do Objecto Transporte
Este tipo de organização pode ser definida pelo utilizador, não tendo qualquer tipo de limitação, apenas temos de ter em conta quando se implementa/extender uma class, já que estamos sujeitos às suas definições, ou seja, imaginemos no caso do carro, não podemos extender a class Carro da seguinte forma:
Transporte – > Carro -> Bancos da frente -> 2 Pessoas
-> Bancos de trás -> 5 Pessoas
Isto a titulo de exemplo não seria correcto e conduziria-nos a um erro, visto que o carro por definição apenas contém 5 lugares e objectivamente nunca deve levar mais de 5 pessoas. O que pretendo dizer com isto é que ao extendermos/utilizar-mos uma class como base devemos tem em atenção as suas definições e limitações.
O melhor destes aspectos do AS3 é que o código tem uma facilidade enorme de ser interpretado, bem como reutilizado e partilhado.
A nível do seu "core" o Action Script é baseado na linguagem ECMA-262 mais conhecida como ECMAScript que cresceu com o sucesso da sua linguagem mais conhecida, o Javascript. O AS2 foi estabilizado durante bastante tempo, mas a crescente necessidade de melhorar e acompanhar as tendências do mercado e programadores, o AS3 foi reescrito do nada, contando com uma enorme possibilidade de expansão e quase "infinitas" características que acompanham as muitas linguagens de programação, temos por exemplo actualmente o suporte nativo a objectos e cenas 3D no futuro Flash Player 10, isto praticamente só possível devido à migração do AS2 para o AS3 do seu motor. Esta grande alteração do AS3 acrescenta inúmero pontos novos, mas as suas bases mantêm-se intactas.
E está terminada a primeira abordagem ao AS3, principalmente na sua apresentação. Como não sou nenhum perito em matéria de AS3 peço a todos que se cometi algum erro me informem.
Um abraço e espero que seja util.
Creéditos: Net.