terça-feira, 10 de julho de 2007

Interscriptável


Mais uma palavra para o nosso meio? Pode ser...
Essa palavra surgiu no meio de uma discussão técnica entre o Rafael Neri da BDG e eu quando discutíamos uma questão interessante a respeito de uma funcionalidade peculiar da nova geração do FlashPlayer (9 em diante) a respeito do AVM (Actionscript Virtual Machine) que o compõe.

Pelo fato de termos 3 versões do Actionscript (1, 2 e 3 ou AS1, AS2 e AS3), o AVM é ainda "dividido" em 2 versões. Temos o AVM1 que interpreta o código Actionscript 1 e 2, e o AVM2 que interpreta a mais recente versão, o Actionscript 3.

Como o termo surgiu?
Finalizando o projeto de re-escrita do site promocional da Preview, o OQueSeFazPorAi (http://www.oquesefazporai.com.br . O que está no ar ainda é a versão original escrita em AS2. Publicarei aqui o anúncio da nova versão quando esta estiver no ar.), esse assunto ficou bastante em pauta quanto tivemos a necessidade de carregar um Movie escrito em AS2, no novo Core que desenvolvemos para o site, todo escritp em AS3. Ocorre que na versão anterior do site, todo escrito em AS2, embora o Core fizesse o carregamento do Movie, o descarregamento (unload) era feito pelo próprio Movie carregado. além de operar outras instruções no própio Core.
Dado o fato do FlashPlayer ser constituído pelo AVM1 e AVM2, podemos em um filme AS3 carregar um filme AS2 ou AS1.
Como isso é feito?
O AVM2 possui uma classe interna chamada justamente AVM1Movie sob a qual o filme AS1 ou AS2 carregado é instanciado, permitindo assim um controle básico e portanto muito limitado deste. Essa classe é constituída basicamente pelas propriedades (limitadas) da Classe MovieClip, a qual óbviamente ele extende, limitando-se também a não possuir nenhum método nem tão pouco acesso aos elementos que fazem parte deste Movie AVM1 carregado.

Daí o surgimento do termo INTERSCRIPTÁVEL!

Em nossa discussão técnica, tive que explicar ao Rafael que um dos procedimentos que teríamos que adotar no desenvolvimento da nossa solução, dava-se pelo fato de que o Core que desenvolvemos não era INTERSCRIPTÁVEL com o Movie escrito em AS2.
Portanto, nossa solução sería re-coordenar o controle dos itens antes controlados no Core, por parte do Movie carregado, para que esse controle fosse todo feito por parte do próprio Core, ou re-escrever todo o Movie geralmente escrito em AS2, traduzindo-o para AS3.

Por questões de prazo, a escolha foi por fazer pequenas alterações no Movie AS2, permitindo e transferindo todo o controle de interações para o Core em AS3.

Está aí a explicação para o termo INTERSCRIPTÁVEL!

Se a galera do AURÉLIO, MICHAELIS e outros dicionários precisarem de uma ajuda (à ser melhorada, claro), aí vai:

Interscriptável: Capacidade de um script (relativo a mini-programas escritos em determinadas linguagens. Ex: Actionscript, Javascript, etc) operar cooperativamente, ou ainda em conjunto, com outro script, da mesma linguagem e versão ou não.

2 comentários:

Anônimo disse...

Vale lembrar, que se algo não é "Interscriptável", você tem um problema...

Vicente Maciel Junior disse...

Pode crer Rafael! Assim como foi o nosso caso! Hahahaha!