Café com Flex Parte I
Desde os tempos de Macromedia eu sinto que muitas pessoas aprendem tanto sobre Flex nos Coffee Breaks quanto no próprio treinamento. Com base nisto e na confiança de que eu tenho de que a documentação do Flex é boa eu começo aqui uma série de artigos que simulam um bate-papo entre eu e uma pessoa iniciante em Flex. Espero que a idéia funcione e que esta serie de artigos sirva como referência para as pessoas que estão começando e até mesmo para aquelas já tem algum conhecimento de Flex.
Iniciante
Olá Beck Novaes, eu sou iniciante em Flex e gostaria de criar a minha primeira aplicação. Você conhece algum tutorial que mostra como fazer isso?
Beck Novaes
Olá “Iniciante”. Você pode acessar a documentação do Flex que, ao contrário do que muitos dizem, eu considero muito boa. Para você começar eu recomendaria este exemplo.
Iniciante
Olá Beck Novaes, sou eu de novo. Eu fiz o tutorial que você recomendou e funcionou direitinho. Mas fiquei interessado em saber mais. O Flex tem um tal de MXML. Para que serve isso? E o ActionScript? Qual a diferença entre os dois?
Beck Novaes
Olá “Iniciante”. É bom ver que quer aprofundar os seus conhecimentos. Bem, vamos as respostas. O MXML é a notação XML que faz parte do “framework” do Flex para definir a interface. Já para fazer a parte lógica da sua aplicação você usa o ActionScript. No fundo o MXML só existe por uma questão de conveniência. Isto porque o XML é a melhor maneira de definir interfaces de usuário programaticamente. Ou seja, para definir a interface o XML é mais apropriado do que as linguagens de programação tradicionais. É por isso que toda tecnologia nova está partindo para este caminho para definir as interfaces de usuário. Por outro lado, o XML não é tão bom quanto as linguagens de programação tradicionais para fazer a parte lógica da sua aplicação. É aqui que entra o ActionScript. Você pode encontrar na documentação mais informações sobre a sintaxe MXML e sobre como usar o ActionScript.
Iniciante
Olá Beck Novaes, sou eu mais uma vez (hehehe). Interessante esse negócio de definir a interface usando o XML. Também dei uma olhada no ActionScript. A sintaxe lembra o Java e o C#. Mas ela é Orientada a Objetos ou Orientada a Eventos?
Beck Novaes
Esse negócio de ser ou Orientado a Objetos ou Orientado a Eventos não é exclusivo como muita gente pensa. Ou seja, pode ser as duas coisas - e esse é o caso do Actionscript. Se você for pesquisar verá que os Eventos e a Orientação a Objetos surgiram praticamente juntos para atender as Graphic User Interfaces. Os Eventos provêem uma maneira excelente de comunicação entre diferentes objetos.
Quando você trabalha com os componentes prontos do Flex você geralmente usa os eventos. Mas quando você for mais experiente em Flex você criará os seus próprios eventos para diminuir o acoplamento na sua aplicação. Você descobrirá também que no ActionScript os eventos podem ser propagados tal como faz parte da especificação do ECMA. Porém, isto não é muito comum aos programadores acostumados com outras tecnologias. Além disso, como os eventos podem ser tratados por diferentes Event Handlers (tratadores de eventos) você pode definir a prioridade deles. Em outras palavras, se houver mais de um Event Handler para o mesmo evento você pode definir qual será executado primeiro quando o evento for disparado.
Vale mencionar também que se você tem um background apenas de programação Web eu recomendo que pesquise a fundo os Eventos no Flex - um fator chave para você desenvolver bem suas aplicações.
Iniciante
Olha, eu até conhecia um pouco sobre eventos, mas esse negócio do Evento Propagar é novidade para mim.
Mas deixando os eventos um pouco de lado, vejo que o Flex é muito forte na parte visual. Por isso, sinto que é importante entender bem como funciona os componentes visuais. Você poderia me dar umas dicas?
Beck Novaes
Claro que sim! Bem, os componentes visuais do Flex também fazem parte do SDK. Este SDK do Flex foi projetado para tirar proveito da Orientação a Objetos e assim facilitar a utilização e a manipulação destes componentes. Por exemplo, aqui você pode ver que todos os componente do Flex herdam de uma classe chamada UIComponent. Esta classe provê métodos, propriedades, estilos e efeitos (Behaviors) comuns a todos os componentes. Os Behaviors são uma feature do Flex que lhe permite adicionar transições e animação e enriquecer a sua aplicação.
O Flex possui na implementação do seu SDK um conjunto de rotinas que controlam o layout, o tamanho e o ciclo de vida dos seus componentes. Existe toda uma nomenclatura para estes recursos tais com posicionamento absoluto, posicionamento relativo, tamanho explicito, tamanho default, etc. Enfim, não adianta eu ficar aqui tentando lhe explicar tudo isso. Por isso é importante você dar uma olhada neste link.
Em resumo, você geralmente trata eventos de um componente visual, aplica estilos e aplica efeitos (behaviors). Tem também uma coisa chamada skin que lhe permite mudar totalmente a aparência do seu componente. Ah! E você pode fazer todas essas alterações em tempo de execução.
Iniciante
Caramba! Vejo que essa documentação é boa mesmo. O que faltava era alguém um pouco mais experiente para me mostrar onde encontrar o quê. Até agora estamos indo muito bem. Mas existiria algo mais que você poderia me falar sobre os componentes de interface?
Beck Novaes
Bem, eu poderia lhe falar também que existe um grupo de componente que lida com dados. Este componentes são chamados de Data-Driven components. Todos eles possuem uma propriedade chamada “dataProvider” que serve para manter os dados que eles apresentam. Você já ouviu falar de MVC? Pois bem, você pode pensar que cada um destes Data-Driven components possuem seu próprio MVC. Cada um deles tem um model para manter os dados (dataProvider) e podem apresentar estes dados de uma maneira diferente (View). Por fim, como já foi dito anteriormente, todos eles possuem eventos que tratam da interação com o usuário (control). E assim como no MVC a grande vantagem disso é que você pode mexer em cada uma das camadas sem interferir na outra. O ComboBox, o List e o DataGrid, por exemplo, podem apresentar o mesmo dado de uma maneira diferente.
Além disso os DataProviders trabalham com Collections. As coleções provem maneiras de manipular o Model, ou seja o dataProvider. Estas coleções são abstratas de tal forma que se você souber usar a API corretamente você poderá ter bastante flexibilidade no Model dos seus componentes.
Bem, creio que isso já é bastante informação por hoje. Você tem muito conteúdo para digerir. Portanto, sugiro continuarmos o posso bate para daqui há alguns dias, ok?
Iniciante
Você tem razão. Creio que isso já é o suficiente para eu me divertir pelo resto da semana. Até mais.
13 comentários para “Café com Flex Parte I”
Genial beck!!!!!
[]s,
Henrique
Interessante nisso é que você aponta os fundamentos para começar a produzir e entender mesmo a coisa (tem gente que acha que pode programar sem entender os fundamentos infelizmente). Mandou bem Beck, parabéns!
[]’s
PS: Abraços p/ o pessoALL =]
E la vem o Beck inovando novamente! +)
Parabens pela inciativa!
Queria eu ter essa base no ínicio, digamos que iria economizar algumas dores de cabeça!
Abraço e que venha mais!
Olá Beck Novaes! Sou novato em Flex.
O iniciante aqui descrito não é tão iniciante (Orientada a Objetos ou Orientada a Eventos???? Onde o cara aranjou isso?). Bem deixa pra lá, você tem como indicar material em linguagem bem simples com exemplos e em portugues, não achei nada em portugues.
Parabens e até mais
É cara, muito bom esse Getting Started for Dummies 
Quando que você vai dar uma força pro pessoal que quer estudar o MVC, com algum framework (PureMVC, Cairngorn, entre outros)?
Detalhe, é o nome do rapaz que comentou logo acima de mim. Nome estranho…
Olá Nardelis,
Eu, sinceramente, não sou a pessoa mais indicada para falar sobre material em português. Talvez você possa perguntar para o pessoal da FlexDev: http://groups.google.com.br/group/flexdev?hl=pt-BR
[]’s
Beck Novaes
Olá Beck Novaes,
Achei a idéia simplismente genial. Sou desenvolvedor web a aproximadamente 3 anos, e de uns dias pra cá venho me interessando e procurando saqber mais sobre RIA, especificamente o Adobe Flex.
Já procurei e l´bastante material para iniciantes, mas nenhum foi tão esclarecedor quanto o seu.
Parabéns e continue assim.
Leandro Faria
Muito legal Beck! Parabéns!
Abraços!
muito bom mesmo, me ajudou bastante
Olá Beck,
parabéns pela didática aplica ao texto acima.
Um verdadeiro arsenal de informações.
Adicionei o feeds.
[]’s
Senhor Beck,
Excelente artigo, Ótimo !!! Parabéns !!! Muito didático !!!
Um Abraço
[...] Olá Beck Novaes, como andam as coisas? Já faz um bom tempo desde a nossa ultima conversa. Bem, eu continuo muito interessado no Flex. Porém, alguns amigos andaram me dizendo que o Flex não [...]
Valeu. Eu estava me sentindo exatamente como o “iniciante” do seu texto. Parabens pela iniciativa!
Adicionar comentário
Genial beck!!!!!
[]s,
Henrique
Interessante nisso é que você aponta os fundamentos para começar a produzir e entender mesmo a coisa (tem gente que acha que pode programar sem entender os fundamentos infelizmente). Mandou bem Beck, parabéns!
[]’s
PS: Abraços p/ o pessoALL =]
E la vem o Beck inovando novamente! +)
Parabens pela inciativa!
Queria eu ter essa base no ínicio, digamos que iria economizar algumas dores de cabeça!
Abraço e que venha mais!
Olá Beck Novaes! Sou novato em Flex.
O iniciante aqui descrito não é tão iniciante (Orientada a Objetos ou Orientada a Eventos???? Onde o cara aranjou isso?). Bem deixa pra lá, você tem como indicar material em linguagem bem simples com exemplos e em portugues, não achei nada em portugues.
Parabens e até mais
É cara, muito bom esse Getting Started for Dummies ![]()
Quando que você vai dar uma força pro pessoal que quer estudar o MVC, com algum framework (PureMVC, Cairngorn, entre outros)?
Detalhe, é o nome do rapaz que comentou logo acima de mim. Nome estranho…
Olá Nardelis,
Eu, sinceramente, não sou a pessoa mais indicada para falar sobre material em português. Talvez você possa perguntar para o pessoal da FlexDev: http://groups.google.com.br/group/flexdev?hl=pt-BR
[]’s
Beck Novaes
Olá Beck Novaes,
Achei a idéia simplismente genial. Sou desenvolvedor web a aproximadamente 3 anos, e de uns dias pra cá venho me interessando e procurando saqber mais sobre RIA, especificamente o Adobe Flex.
Já procurei e l´bastante material para iniciantes, mas nenhum foi tão esclarecedor quanto o seu.
Parabéns e continue assim.
Leandro Faria
Muito legal Beck! Parabéns!
Abraços!
muito bom mesmo, me ajudou bastante
Olá Beck,
parabéns pela didática aplica ao texto acima.
Um verdadeiro arsenal de informações.
Adicionei o feeds.
[]’s
Senhor Beck,
Excelente artigo, Ótimo !!! Parabéns !!! Muito didático !!!
Um Abraço
[...] Olá Beck Novaes, como andam as coisas? Já faz um bom tempo desde a nossa ultima conversa. Bem, eu continuo muito interessado no Flex. Porém, alguns amigos andaram me dizendo que o Flex não [...]
Valeu. Eu estava me sentindo exatamente como o “iniciante” do seu texto. Parabens pela iniciativa!

