E q o compilador Java é mais "inteligente", vamos dizer assim...
Ele compila tudo oq está no ClassPath, seja utilizado ou nao.
Inclusive, em Java, podemos alterar as referencias em runtime.. nao é algo
muito comum, mas é facilmente possivel.
Já o mxmlc (compilador do Flex, que gera o SWF) só compila as classes q
estão referenciadas.
O objetivo disso é nao "inchar" o swf, assim arquivos q nao sao
referenciados sao descartados.
Por esse lado é bom.. mas por outro lado é ruim, perdemos a total
dinamicidade de criacao/inicializacao de componentes em runtime q nao foram
previamente compilados com a app principal.
Para quem assistiu a palestra do @jandersonfc - sobre o framework SpringAS -
pôde ver um exemplo disso: o framework faz a inicializacao de classes q
possuem a metadata [Component], mas q nao estão declaradas em lugar algum.
No caso dele, em vez de usar o registerClass, simplesmente declara uma array
com essas classes:
var _linkCompiler : Array = [Pessoa, SuaClasse, SeuComponente, SuaEntidade];
Nao precisa ter instancias desses objetos, basta só a referencia da classe.
Tem uma outra forma de fazer isso, q eu só fiquei sabendo no começo do ano
lá no FlashCampBrasil: Colocar um
ClassReference("o.pacote.da.classe.Completo") em um resource, e depois
carregar esse resource com o [ResourceBundle] e compilar o resource tb,
claro.
Enfim... pra tudo tem as vantagens e desvantagens.
[]'s
Em 8 de julho de 2011 21:28, Samuel Facchinello <[email protected]>escreveu:
> o Flex só compila classes utilizadas.
>
> classes nao utilizadas sao simplesmente ignoradas!
>
> Att,
> Samuel Facchinello
> http://desenvolvendoemflex.blogspot.com
> Joinville - SC
>
>
>
> 2011/7/8 Renan <[email protected]>
>
>> Boa Noite,
>>
>> Tive alguns problemas com a serializacao/deserializacao dos objetos
>> entre Blazeds e Flex, onde atributos ou a minha propria classe não
>> eram reconhecidos durante a deserializacao, e o atributo/objeto
>> instanciado acabava sendo um Object.
>> Entendi o motivo apos ler o post do Fábio Silva (http://
>> fabiophx.blogspot.com/2009/04/criacao-dinamica-de-objetos.html),
>> solução que encontrei "Antes de qualquer ação, instanciar as classes
>> new MinhaClasse() para assim registrar a classe pro compilador".
>>
>> Esse post, fala exatamente sobre a situacao que comentei:
>>
>> http://rafanami.wordpress.com/2010/05/24/problemas-com-serializacao-amf-aplicacoes-javaflex/
>>
>> Agora eu pergunto a voces, como voces costumam fazer esse registro de
>> classes ? Eu como desenvolvedor java que iniciou a pouco tempo
>> atividades com flex, achei meio estranho ter que fazer isso na mão..
>> Ou eu estou errado e falando besteira ??? kkkk
>>
>> Flw
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
--
Mario Junior
http://blog.mariojunior.com/
@mariojunior
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev