Adobe Flex e Ajax desmistificados

Recentemente eu e o Beck Novaes tivemos uma troca de idéias sobre o Flex e o Ajax, ao vermos mensagens em listas de discussão, artigos e no mercado sobre um possível embate entre essas tecnologias.

Eu já havia feitos comentários sobre esse assunto (na lista CF-Brasil e na lista Flex-Brasil por exemplo), mas esse artigo apresenta de maneira mais clara e concisa as minhas idéias sobre o assunto, com o o objetivo de desmistificar a concorrência entre Adobe Flex e Ajax através de sua possível complementação para desenvolvimento da nova geração de aplicativos: rich internet applications. O Beck também postou suas considerações sobre o assunto no blog da DClick.


Adobe Flex e Ajax desmistificados

Debates sobre qual é a melhor dentre duas tecnologias são comuns. Uma discussão desse tipo relacionada ao desenvolvimento de aplicativos para web envolve o Adobe Flex e o Ajax. Mas será que somos capazes de dizer qual delas é a melhor? Seria possível compará-los?

Sites da Web

A Web surgiu baseada em duas tecnologias – as quais ainda hoje são utilizadas extensivamente, o HTTP (Hyper Text Transfer Protocol), responsável pela comunicação síncrona entre um visitante e o site na Internet; e o HTML (Hyper Text Markup Language), um formato de descrever documentos interconectados entre si, tal como um hipertexto propõe.

Assim, cada nova requisição de um visitante estabelece uma nova comunicação com o servidor, e um documento completamente novo é gerado e devolvido ao cliente como resposta de sua requisição, ocasionando o que conhecemos como atualizações (refresh) de tela.

Nova demanda

Enquanto essa dupla funcionou – e ainda funciona – muito bem para operações essencialmente de leitura, como a visualização de grandes quantidades de informação tal como era o objetivo inicial nos moldes do hipertexto, a Internet cresceu exponencialmente e hoje é utilizada nos mais diferentes âmbitos, desde pesquisas de documentos até transações bancárias e comerciais, em que esse formato de comunicação síncrono é pouco efetivo.

Novas soluções

Em 2001, a Macromedia (agora Adobe) usou pela primeira vez o termo Rich Internet Applications (RIA) para descrever um novo modelo de aplicativos para a Web, baseado no que aplicativos tradicionais para desktop ofereciam – interface responsiva e intuitiva, com o melhor da Internet – seu alcance global e comunicação, e criou uma plataforma – a Flash Platform, para o desenvolvimento de RIAs.

A Flash Platform oferece uma comunicação mais efetiva para processos transacionais pois está em sua natureza uma comunicação assíncrona: o usuário pode continuar a realizar a sua tarefa enquanto os dados são obtidos do servidor, sem a necessidade de atualizar toda a aplicação. Oferece ainda toda a capacidade gráfica e interatividade em controles para o usuário, inerentes da plataforma.

O seu ambiente de desenvolvimento, contudo, não era familiar à programadores, e isso é provavelmente o grande responsável pelo fato dele não ter tido uma aceitação massiva por parte do público de TI. A resposta veio alguns anos mais tarde com o lançamento Macromedia Flex, que oferece a este público uma maneira padronizada para o desenvolvimento Aplicativos Ricos para a Flash Platform. Mas embora o Flex tenha alcançado um sucesso significativo, é o AJAX que vem chamando atenção nos últimos tempos.

AJAX é um conjunto de tecnologias para desenvolvimento para Internet e que possibilita uma comunicação assíncrona com o servidor – onde apenas os dados atualizados são retornados para o usuário, e não mais todo o documento HTML, como era anteriormente. Assim, o Ajax reduz um grave problema natural das tecnologias no qual as páginas da web apóiam-se (o HTML e o HTTP): a atualização (refresh) de tela.

Ao passo que a Flash Platform mudou substancialmente a ponto de oferecer um conjunto completo de componentes para desenvolvimento de aplicativos, e o AJAX veio para evoluir a forma como os visitantes interagiam com os documentos em HTML.

Ambos com o propósito de oferecer uma melhor experiência – objetivo maior das Rich Internet Applications. O Flex, apoiado na Flash Platform, para aplicativos e processos transacionais e o AJAX na apresentação de documentos, para qual o HTML foi concebido.

Flash Platform com AJAX

O HTML foi concebido para a navegação de conteúdos textuais e de baixa interatividade, o qual ele atende muito bem, mesmo depois de mais de doze anos após seu surgimento, ao passo que o Flash transformou-se em uma plataforma para o desenvolvimento de aplicativos.

Melhor do que discutir qual tecnologia é melhor, é conhece-las corretamente e saber transformar o potencial de cada uma delas em uma aplicação.

O Flex não é “versus” o AJAX. Enquanto o AJAX é um conjunto de tecnologias para transferir dados entre o cliente e o servidor sem o refresh de tela, apoiando-se em outros componentes tecnológicos para componentes e controles de interfaces, o Flex oferece um conjunto completo para o desenvolvimento de RIAs. Cada um em sua especialidade, eles são complementares e a melhor utilização é tirar proveito da capacidade gráfica e interatividade da Flash Platform desenvolvendo em Flex e, ao mesmo tempo, da simplicidade na apresentação de grandes quantidade de conteúdo em texto do HTML com AJAX.


4 Comments on “Adobe Flex e Ajax desmistificados”

  1. Vinicius Alegreti Meza disse:

    Olá Fábio,
    Este esclarecimento é fundamental para decisões estratégicas na escolha de qual tecnologia deve ser utilizada para diversos tipos de problemas ( e consequentemente soluções ). É importante salientar que, além de todas as vantagens do Flex discutidas acima, há o peso do custo do emprego de tal tecnologia. Empresas pequenas podem se valer do emprego do ajax em páginas dinâmicas, caso o investimento em Flex seja de custo proibitivo. Portanto, em termos de tecnologia, concordo com você, não há como comparar, e sim a decisão repousa em qual solução é procurada.
    Excelente post Fábio!

  2. Beck disse:

    Vinicius,

    A questão do investimento ainda é válida no caso do Flex 1.5. No Flex 2.0 o SDK será Free.

    http://labs.macromedia.com/wiki/index.php/Flex_Framework:overview

  3. Sergio disse:

    Meus parabéns pelo esclarecimento e estarei divulgando entre meus conhecidos este post para tais esclarecimentos.

  4. Só o Flex Muda Completamente as Experiências Web

    Relatório feito pela Forrester Research aponta que uma empresa que domina o Flex pode tirar melhor proveito das RIAs do que qualquer outra que adote um Ajax Framework. Em outras palavras somente o Flex é capaz de mudar completamente as experiências Web…