Tutorial - Adobe Flex a partir do zero actualizado.

   

O tutorial que estou a escrever, sofreu algumas alterações, bem como correcções linguísticas e alguns erros detectados foram corrigidos. Apenas actualizei o pdf “Flex Book”.

- O index foi alterado, bem com alguns pedaços de código que não estavam devidamente formatados com a sintaxe original do flex (principalmente a parte I).

-Foi alterado o tipo de letra para uniformizar o documento, e adicionados alguns pontos novos, tais como a separação por tópicos colocada em relevo, para serem mais faceis de identificar.

-Foi adicionada a parte IV do tutorial.

-Foram adicionados algumas entradas no index que ficam para fazer nas próximas edições

-O número de páginas foi actualizado, contando agora com 46 paginas.

Vou alterar o método de distribuição dos pdf’s na próxima edição, esta e as próximas versões em pdf encontra-se debaixo da licença creative commons:

Atribuição-Uso Não-Comercial-Vedada a Criação de Obras Derivadas 3.0 Unported

Pelo que podem continuar a ler, distribuir, imprimir, etc.. Quase nada mudou (mas leiam os termos no link em cima), apenas é pedido a quem distribuia este “book” que inclua o nome do seu autor (Mário Santos, eu! :-) ) bem como o site ( www.msdevtudio.com ), acho que não é pedir muito, ou é? :p

Creative Commons LicensePodem ver a versão online disponibilizada nas publicações issuu.com. (Flash)

Download Flex Book Part 1, 2, 3, 4

Continuo à procura de alguém que esteja interessado em fazer a revisão, apenas que faça uma leitura mais atenta à procura de erros, bem como a testar o código todo descrito neste mesmo tutorial. A pessoa que proceder a esta revisão será devidamente identificada no tutorial. Se alguém estiver interessado informe.

Alguma critica, sugestão e/ou comentário será bem vindo.

 

Se alguém estiver interessado em suportar algum do meu trabalho, sinta-se à vontade para fazer uma contribuição, usando o paypal, clicando no botão payPal no topo à direita.
Abraços.

versão pdf temporariamente indisponivel.
Deixe um comentário ou um Trackback

25 Comentários

  1. Maio 1, 2008 às 12:26 pm | Permalink

    Bicho ..maravilhoso seu tutorial ! … to fazendo tudo passo a passo e tem algumas coisas na tradução (ou escrita não sei bem se está em PT_BR ou PT) e se for BR posso colaborar revisando mas o meu problema é na execução onde na página 27:

    [Bindable]
    public var …….

    Aparece um warning:
    1084:var’dadosDataGrid’ will be scoped to the default namespace:olaMundo:internal. It will not be visible outside of this page.

    Não sei o que fiz de errado. Estou usando o Adobe Flex buider 3 (não sei se é versão diferente)

    Um abraço

  2. Maio 1, 2008 às 3:42 pm | Permalink

    Boas villas..
    A linguagem é portugues PT, mas se voce seguir o tutorial, e como toda a gente, e for reportando esses possiveis pequenos erros, já ajuda em muito.

    Quanto à sua duvida, voce deve estar a declarar a variavel dentro de uma funçao…verifique se não é isso…

    Tem que ser declarada (variavel global) normalmente no topo do documento! a seguir aos imports e fora de qualquer funçao.

    Seria isso?

  3. Maio 2, 2008 às 1:14 am | Permalink

    Mário já resolvi o ocorrido e confesso que não imagino o que poderia ser, talvez o cache do builder.

    Vou continuar o tutorial. Com relação a correção da lingua acho pouco prudente pois tem algumas diferenças embora sejam PT hehe !

    Grande abraço

  4. Maio 2, 2008 às 6:06 am | Permalink

    Estranho villas, mas normalmente esse erro seria devido à declaração da variavél dentro de uma função… mas como o flex builder às vezes também dispara uns bytes, poderia ser mesmo da cache… rsrsrs

    Quanto ao tutorial, realmente a nivél de lingua, é um pouco dificil já que as linguas realmente são mesmo um bocado diferentes… mas se encontrar mais algum erro me fala!!

    Assim posso contar com um bocadinho da ajuda de todos :)

    Abraço.

  5. Maio 2, 2008 às 3:15 pm | Permalink

    Mário acho seria adequado te mandar algumas correções por email. Agora estou travado no tutorial talvez seja por uma delas e não consigo fazer o loading sumir após o carregamento(na página 39)

    1046: Type was not found or was not a compile-time constant: ModuleEvent. olaMundo mainScript.as line 96

  6. Maio 2, 2008 às 3:25 pm | Permalink

    Opa .. revisei o código e consegui. Sumiu o erro. Eu simplesmente apaguei a function e reescrevi dando espaço e aguardando a sugestão do builder que não tinha aparecid anteriormente.
    Então pode ter sido erro na digitação pois não estou fazendo copy/paste para aprender.

    Um abraço e fico no aguardo do teu email

    o meu é villas2terra.com.br

  7. Maio 2, 2008 às 5:26 pm | Permalink

    Enviei um email para voce agora…

    As vezes esses erros podem acontecer mesmo por distração… ainda bem que solucionou.

    Faz muito bem não fazer copy/paste, já que assim aprende mesmo!! :)

    Um abraço.

  8. Maio 3, 2008 às 1:03 am | Permalink

    Mário não recebi o email

    tenta o edu(arroba)villasweb.com por favor que pelo terra não veio.

  9. Maio 3, 2008 às 1:28 am | Permalink

    Mário só agora que eu li direito e vi o:
    Boas Villas … e achei interessante pois meu nome é Villas Boas hehehe ..

    bom sobre o tutorial empaquei na página 41 e não consigo descobrir o erro que aparece no flex:

    1195: Attempted access of inaccessible method defineUser through a reference with static type modLogin. olaMundo mainScript.as line 104

    Não consigo descobrir o que fiz de errado. será que você por acaso desconfia?

    Abraço

    Eduardo Villas Boas

  10. Maio 3, 2008 às 1:51 am | Permalink

    Detalhes sobre o erro:
    O botão Define User não aparece na renderização

  11. Maio 3, 2008 às 6:30 am | Permalink

    Villas, me mostra a sua linha 104. E entretanto verifique se tem a função defineUser bem feita no modLogin..

    Esse erro está a dizer que é impossivél aceder ao método defineUser()…

  12. Maio 3, 2008 às 12:39 pm | Permalink

    nao sei se vai aparecer o código

    no arquivo mainScript.as

    private function define():void{
    if((loader.getChildren()).length>0)
    (loader.child as modLogin).
    inputUser(”TESTANDO”);
    else Alert.show(”Modulo ainda Não carregado”);
    }

    No modLogin.mxml

  13. Maio 3, 2008 às 1:46 pm | Permalink

    Bom, já recebi o seu email e vi que ficou resolvido esse problema, que pelo que parece talvez fosse por ter o inputUser(”TESTANDO”); na linha de baixo. deve estar tudo na mesma linha:

    (loader.child as modLogin).inputUser(”TESTANDO”);

    :)

  14. Maio 3, 2008 às 9:35 pm | Permalink

    Mário terminei o tutorial as mil maravilhas. Agora refazer tudo do zero do zero e adequar as minhas aplicações principalmente a comunicação com o php.

    Que tal na parte 5 uma grid com inserir, editar, deletar etc ??

    Parabéns

  15. Maio 4, 2008 às 10:36 am | Permalink

    Ainda bem Eduardo.

    Quanto à parte 5 ainda está no forno… ando sem muito tempo.. mas vamos a ver se lá para o meio do mês estará terminada…

    Quanto ao datagrid, existe aqui no blog um exemplo que pode dar uma olhada:
    http://msdevstudio.com/blog/2008/03/25/flex-datagrid-operaes-no-dataprovider/

    Utiliza um dataprovider criado na aplicação, mas já pode ver como funciona as operações CRUD nos dataProviders. :)

    Abraço e obrigado pelos “erros” detectados!

  16. Julho 16, 2008 às 6:53 pm | Permalink

    Fiquei com uma dúvida aqui olhando o book online.
    Exemplo:

    Por que as vezes um objeto do tipo Panel é instanciado
    com parenteses e as vezes sem parenteses:
    var painel2:Panel = new Panel();
    var novo:Panel = new Panel;

    Há alguma diferença?

    Encontrei também no book online alguns erros de português.

  17. Julho 16, 2008 às 8:12 pm | Permalink

    Na realidade essas declarações funcionam praticamente da mesma maneira, declaram uma nova instancia do painel. O que significa que na pratica resulta na mesma coisa, têm como por exemplo usar ou não usar o ponto-e-virgula ; no final de cada linha, se usar funciona, se não usar, funciona na mesma…

    Quanto aos erros de português, penso que teria corrigido praticamente todos, mas caso tenha encontrado algum informe.

    p.s. Note que é Português de Portugal :)

    Um abraço.

  18. renan
    Setembro 20, 2008 às 11:27 pm | Permalink

    Tranquei na sessão 7.4, em dois momentos, no primeiro, envolvendo as páginas 38-39, no trecho:

    private function carregaModulo():void{
    loader.url=”modLogin.swf”;
    loader.loadModule();
    loaderBar.source=loader;
    }

    Cita o erro “1020: access of undefined property loader.” nas três linhas de ‘loader’, e outro específico para a linha com o ‘loaderBar’.

    Sem achar o erro (e inclusive usando copiar/colar para ver se eu achava onde errei, caso fosse digitação), tentei ignorar, e seguindo com os exemplos, de acordo com as páginas 39-40:

    O erro das três linhas some com o acréscimo da função seguinte, mas então nesta função surge o erro “1046: Type was not found or was not a compile-time constant: ModuleEvent.”, resource “mainScript.as”, path “olaMundo/src”, e o erro é citado duas vezes, referindo a linha “private function loadTerminado(event:ModuleEvent):void {”.

    (a ProgressBar não some; o botão “Define User” não aparece)

    Tive esperança de entender pelo problema que talvez fosse o mesmo do Villas, mas passei a tarde inteira passando a limpo (e inclusive copiando e colando) sem entender onde é que eu estou errando.

    Uma luz?

    Obrigado.

    P.S. Na primeira versão do capítulo 4, havia dois pontos de referência sobre popUpManager.createPopUp, que nunca foram citados antes, então eu subentendi que era uma confusão com o “centerPopUp” da página anterior. Funcionou. Na revisão, de fato, o primeiro foi substituído por “centerPopUp”, ao invés de “createPopUp”, mas o segundo (na parte inferior da página), permanece como “create”, ao invés de “center”.

  19. Setembro 21, 2008 às 10:05 am | Permalink

    Bom dia Renan.

    Dá erro nesse loader, e o erro indica que não é possivel aceder ao loader, ou seja, o loader ou não têm o id=”loader” ou o loader não foi iniciado (sinal que podes ter a função colocada no ficheiro errado…)

    o erro do module event dá-se porque copiaste o código do book…

    mete junto dos imports:

    import mx.events.ModuleEvent;

    e deve resolver.

    Não copies o código, faz sempre de novo, porque existem certos imports que são inseridos automaticamente ao escrever e não aparecem se copiares…

    se não conseguires resolver coloca uma duvida com o código todo em http://forum.msdevstudio.com assim lá é mais facil de eu ver o código e de tirar a duvida.

    Abraço.

  20. Cristiano
    Setembro 21, 2008 às 8:02 pm | Permalink

    Eu ainda não li por completo este tutorial, mas olhando por cima já gostei muito. Parabéns pela vontade de ensinar :)

  21. Setembro 23, 2008 às 7:36 pm | Permalink

    Obrigado Cristiano… quando terminar fala o que achou e deixe a sua opinião, critica ou sugestão!

    Abraço.

  22. Cristiano
    Outubro 10, 2008 às 1:54 pm | Permalink

    Soh uma correção, lah na pagina 27 para a criação dos dados dentro do Datagrid, o nome dos campos do dataField esta como col1, col2 e col3. Diferente do nome dos campos que esta lah no action script na criação da array que esta com: campo1, campo2 e campo3. Para funcionar nos meus testes, tanto o nome do campo dentro da array via action script e o nome lah nos campos do dataGrid do mxml tiveram q ser iguais para funcionar. blzz?? Vlw!

  23. Outubro 10, 2008 às 8:16 pm | Permalink

    É isso aí Cristiano, valeu pela nota.

    Os dataField’s da datagrid têm que ser iguais aos campos do dataProvider.

    Obrigado pela correção, qualquer outro erro avise!

    Abraço!

  24. Mila
    Dezembro 16, 2008 às 6:45 pm | Permalink

    Nossa, realmente um tutorial excelente! Acabei de ter o meu primeiro contato com o Flex e acredito q já aprendi muito! Quando saíra uma nova parte? Estou anciosa para aprofundar os meus conhecimentos!

    Abraços e parabéns pela dedicação!

  25. Dezembro 18, 2008 às 11:55 am | Permalink

    Cara,
    arabéns pelo tutorial. Está excelente! Muito claro e objetivo, e bem completo até!
    Abs.

4 Trackbacks

  1. [...] Entradas » Ultimos Comentários » Entradas Populares » » Tutorial - Adobe Flex a partir do zero actualizado. » Top 10 erros ao desenvolver aplicações Flex. » Adobe video workshop - [...]

  2. [...] Entradas » Ultimos Comentários » Entradas Populares » » Tutorial - Adobe Flex a partir do zero actualizado. » Top 10 erros ao desenvolver aplicações Flex. » Adobe video workshop - [...]

  3. [...] Entradas » Ultimos Comentários » Entradas Populares » » Tutorial - Adobe Flex a partir do zero actualizado. » Top 10 erros ao desenvolver aplicações Flex. » Adobe video workshop - [...]

  4. [...] Adobe  Flex Buider a partir do zero - parte 1, 2, 3, 4. Até a Próx.dica. Gostou do da Post?Vote nele: These icons link to social bookmarking sites where readers can share and discover new web pages. [...]

Deixe um comentário

O seu email nunca será publicado ou partilhado. Campos obrigatórios estão marcados com um *

*
*