Archive for 17 de setembro de 2009

Conhecendo o Actionscript gerado pelo Flex

O Flex nada mais é que um compilador cheio de componentes que estruturamos pelo MXML assim como fazemos no HTML, mas no fim tudo isso será interpretado pelo programa onde classes Actionscript serão geradas e finalmente compiladas em arquivos SWF.

Agora se toda aquela estrutura MXML nada mais é que um esquema para gerar classes ActionScript, então por onde andam esses arquivos que não aparecem nas pastas do projeto?

Criando um novo projeto, que eu vou chamar de “ProjetoFlex” (muito original) e colocamos apenas um label:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Label text="OLÁ MUNDO" /></mx:Label></mx:Application>

No Flex Navigator temos a seguinte estrutura.

Arvore de estrutura de projeto

Nada em especial, só as pastas de depuração e a de template idênticas, como deveria ser, sendo diferente apenas pelo ProjetoFlex.swf que esta representado pelo ProjetoFlex.mxml.

Vamos fazer com que o Flex não esconda mais os códigos ActionScript clicando com o botão direito do mouse sobre a pasta do projeto.

Arvore de estrutura de projeto

Abrimos a opção Properties e selecionamos a opção Flex Compiler.

Projeto propriedades

Agora no campo de Addicional compile arguments, orientamos o Flex para que ao compilar os arquivos mostre a pasta de scripts. Para isso basta deixar o campo desta maneira:

-locale en_US -keep-generated-actionscript

Projeto propriedades

Feito isso clique em Apply e depois em OK.

Uma nova pasta chamada generated vai aparecer e nela todos os scripts que o Flex precisou criar para poder chegar ao seu resultado final o SWF.

Projeto propriedades

Aos curiosos é uma boa fonte de informação para entender melhor como o Flex monta o seu resultado final, podendo até nos levar a fazer o script manualmente do que utilizar a tag de programação do Flex para melhorar o desempenho do projeto.

E esta pasta não se aplica somente a página principal, se aplica a tudo desde seus componentes personalizados, até mesmo o CSS. Supondo que você crie sub-pastas para organizar sua estrutura, por exemplo um a pasta só para CSS, dentro dela será criada uma pasta generated correspondente a este conteúdo.

VN:F [1.9.17_1161]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.17_1161]
Rating: 0 (from 0 votes)

, ,

1 Comentário


Warning: fopen(/home/renato_pacheco/renatopacheco.com/blog/wp-content/plugins/wp-google-plus-one/lib/standard.txt) [function.fopen]: failed to open stream: No such file or directory in /home/renato_pacheco/renatopacheco.com/blog/wp-content/plugins/wp-google-plus-one/plusone.php on line 104

Warning: fread(): supplied argument is not a valid stream resource in /home/renato_pacheco/renatopacheco.com/blog/wp-content/plugins/wp-google-plus-one/plusone.php on line 105

Warning: fclose(): supplied argument is not a valid stream resource in /home/renato_pacheco/renatopacheco.com/blog/wp-content/plugins/wp-google-plus-one/plusone.php on line 106
.