Estoque baixo – Atenção!

Pessoal, este post é para alertar quem está “pensando” em comprar os seguintes livros:

  • Dominando Adobe Flex 4
  • Dominando Flex e Zend

 

O estoque chegou no limite! São apenas 30 exemplares do Flex 4 e 19 exemplares do Flex+Zend. Depois que estas obras terminarem, não haverá mais vendas delas, nem por e-book.

Serão criados novos livros e comercializados a partir de maio/2011.

Melhores práticas com Flex, PHP, Zend e Swiz

Durante o ano de 2010 diversos leitores me escreveram solicitando alguma forma de “receita de bolo” para a criação de projetos em Flex. Estavam buscando uma maneira de criar uma aplicação de forma que fosse mais correta e mais fácil, baseada em padrões de projeto e definida através de uma estrutura que facilitasse o desenvolvimento.

No início de 2011 comecei a pensar mais no assunto, pois irei implementar estas regras nos próximos livros, chegando a uma série de “regras” das quais estarei apresentando neste artigo. Inicialmente, queria dizer que eu não sou o dono da verdade, e estou longe de criar alguma regra que se não usada irá causar o seu insucesso. Estou disposto a receber críticas que sejam construtivas, com o intuito de melhorar o sistema cada vez mais, possibilitando assim que a comunidade tenha em mãos um bom documento para consulta.

Continuar lendo

Como capturar a imagem da WebCam, e salvar no disco

Iniciamos hoje alguns artigos sobre a captura de imagem provenientes da WebCam do usuário. Inicialmente, algo simples apenas para nos ambientarmos com toda a estrutura. É válido lembrar que o Flash Player possui um bom suporte para capturar imagem/som do computador. No exemplo a seguir, iremos fazer isso de forma muito rápida:

Continuar lendo

2010 é o ano do Flex

Acompanho o Adobe Flex desde 2006, na versão 1.0. Nesta versão, o Flex era fechado e caro. A compilação ocorria no servidor (java) e o preço dele bem salgado. Isso foi no tempo ainda da Macromedia, que vendo o grande produto que tinham em mãos, mudaram completamente o foco do Flex. Na versão Flex 2.0 beta 1, não era mais necessário utilizar um servidor Java. O próprio SDK compilava um arquivo SWF que poderia ser enviado a qualquer servidor. O SDK ficou gratuito e somente o “Macromedia Flex Builder’” era pago.

Após a aquisição da Adobe, os produtos Flex tornaram novamente um rumo muito bom, principalmente porque o SDK caminhava para o mundo open source. Hoje em dia, é possível ver o código fonte de um componente Flex, e aprender com ele.

Como pode-se perceber, o Flex passou por modificações profundas, de um standalone java caro para um SDK open source. E porque isso? Principalmente para ganhar mercado! E está conseguindo, pois a ascensão do Flex está muito grande! Duvida? Olhe as mensagens do grupo de discussão FlexDev. Nesse ano de 2009 batemos as 1000 mensagens por mês, e continuamos crescendo.

O que podemos esperar de 2010? Inicialmente a nova versão 4 do Flex, com diversas melhorias. Uma maior quantidade de pessoas trabalhando na área, além de uma maior quantidade de livros e artigos publicados. O Buzz aumenta e as empresas começam a olhar o Flex de uma maneira diferente.

O Flex deixa de ser uma tecnologia de poucos e passa a tornar-se usual. As empresas vão, a cada dia, buscar mais e mais profissionais que dominam o Flex, e os empregados que “plantarem” esta semente onde trabalham, vão sair na frente, mostrando visão de mercado e domínio do “novo”.

Alias o domínio do “novo” é uma das chaves principais do sucesso de um empregado. Nunca agarre-se a uma tecnologia por muito tempo. Conheço pessoas que só dominam o Delphi até hoje, e a visão dos gerentes frente a elas é que são peças descartáveis, que não geram lucro tácito (conhecimento) para a empresa.

Olhando para 2010 eu vejo o Flex como uma tecnologia brilhante. É a única que cumpre o papel do desenvolvimento de sistemas para a web, que é compatível com PHP, Java, .Net, ASP etc. Funciona em todos os navegadores sem apresentar diferenças visuais. É gratuita, open source, e possui uma comunidade empolgante, que gera conteúdo em diversos blogs e ajuda os outros nos grupos de discussão.

Como começar?

A melhor forma de começar a aprender uma tecnologia é vê-la na prática. Mesmo que não saiba nada de Flex, acesse www.flex.org e clique em “Tour de Flex”:

image

Instale este aplicativo que contém diversos exemplos envolvendo os componentes do Flex. Veja cada exemplo, cada código. Tente entender um pouco cada componente e veja como ele se comporta em relação ao código.

Após ver os exemplos, você pode começar a fazer algo. Então instale o Adobe Flex Builder, com uma versão de avaliação de 60 dias. Nestes 60 dias, estudando um pouco a cada dia, você ficará tão a vontade com a tecnologia Flex que poderá migrar desta versão paga para outra gratuita, como o Flash Developer, ou Eclipse.

Ok, eu já conheço Flex, como ampliar meu domínio ?

Agora, para se aprofundar definitivamente no Adobe Flex (ficar fera!!), acesse a documentação oficial do Flex. Aqui você encontra tudo que precisa para conhecer todos os conceitos do Flex, e poder criar aplicações de verdade! Leia principalmente: Flex 3 Developer Guide e Programing Action Script 3.0.

Minha empresa desenvolve sistemas, o que eu faço?

Plante a semente. Faça alguma aplicação pequena e apresente-a. Mostre os pontos positivos e claro, os negativos. Mostre preços e principalmente, mostre que a comunidade está crescendo, que você não está sozinho, que o Flex não está sozinho.

Minha empresa já usa Flex!

Ótimo. Amplie os seus horizontes, leia a documentação, estude Orientação á Objetos, e destaque-se. Aprenda a criar componentes em Flex, a gerar gráficos e relatórios. Destaque-se entre os “acomodados”.

Eu estou desempregado

Se você é desenvolvedor e atualmente está procurando emprego, o mercado Flex tende a crescer muito em 2010. Mas é fundamental conhecer outras tecnologias que se juntam ao Flex, como o Java ou PHP.

Flex não é para fazer Sites

Tenho acompanhado “de longe” as “manifestações” que ocorreram durante estes semanas sobre o Flex, e como conheço um pouco da tecnologia me sinto a vontade em afirmar que o Flex não foi criado para o desenvolvimento de sites. Existem vários motivos para isso, e sem exaltação irei aborar alguns deles

  • Tamanho de carregamento da página: A aplicação Flex pode ficar com até mais de 1 Mega, dependendo de como o seu “site” será construído. Você fica esperando 10 segundos para ver um site carregar? Aposto que não..
    • Update: Já imaginou o seu servidor provendo 1Mega por acesso de visitantes únicos ? se você tiver 1000 acessos por dia, é 1G por dia. Haja servidor…
  • Deficiência dos motores de busca: Um site em Flex possui um arquivo SWF que é muito ineficiente para os sites de busca. Hoje, com toda a onda “SEO” na ponta do marketing cibernético, tem um site em Flex (ou flash) é pedir para não ser visto no google/bing/yahoo/cadê (esse último foi uma brincadeirinha !!)
  • Mobile: Não conheço nenhum celular/palm/iphone que já tenha o player 10 do Flash e que possa rodar código Action Script 3.0! Se tiver me falem!
  • Ctrl+F: por incrível que pareça, muita gente usa o recurso de busca em uma página. É difícil fazer isso com flash.
  • Impressão: Nem se fala… Imprimir com flex é uma tarefa bastante árdua.
  • BookMark, Delicius: Como guardar uma página sendo que todo o conteúdo de um site está em um SWF (através de comunicação HTTPService ou AMF). Difícil né.

 

Então pessoal, usem o bom senso, façam o que o mercado exige, e crie um site bonito e agradável com somente HTML e jQuery! Site é HTML, sistema é Flex! Usem todas as técnicas SEO possíveis, use, h1, h2, p e não usem “font size”. Se já está difícil aparecer no google sendo SEO, imagina se você não for? Imaginou ??

 

Abraços !!!

Como popular um ComboBox no Flex

Talvez o ComboBox do Flex seja um dos componentes mais fáceis de se usar, dentre todas as tecnologias existentes. Os componentes do Flex que manipulam uma lista de dados possuem um conceito muito legal, que é o seguinte. Você passa para o componente uma Array de Objetos. Então, aquele componente (o ComboBox) tem um array de objetos dentro dele. Agora basta definir qual propriedade do objeto será visível na combo. Vamos a um exemplo:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="OnCreateComplete()">
    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.collections.ArrayCollection;
            [Bindable]
            private var ArrayObj:ArrayCollection = new ArrayCollection();

            private function OnCreateComplete():void
            {
                var obj1:Object = new Object();
                obj1.nome = "Fulano 1";
                obj1.tel = "111222";

                var obj2:Object = new Object();
                obj2.nome = "Fulano 2";
                obj2.tel = "333222";

                var obj3:Object = new Object();
                obj3.nome = "Fulano 3";
                obj3.tel = "333555";

                ArrayObj.addItem(obj1);
                ArrayObj.addItem(obj2);
                ArrayObj.addItem(obj3); 

            }
            private function OnItemChange():void
            {
                Alert.show("Pessoa " + Combo.selectedItem.nome + " tem o telefone " + Combo.selectedItem.tel);
            }               
        ]]>
    </mx:Script>
    <mx:ComboBox id="Combo" dataProvider="{ArrayObj}" labelField="nome" change="{OnItemChange()}"/>
</mx:Application>

 

Neste exemplo, criamos um array de objetos na função OnCreateComplete. Quando criamos o Combobox, definimos a propriedade dataProvider, que é o array de objetos, e depois definimos a propriedade labelField, que diz qual dos campos do objeto serão vistos na combo. O event change dispara a função OnItemChange que usa a propriedade selecteditem do Combobox para que possa obter informações sobre o atual objeto selecionado.