Tecnologias RIA

posted by Marcio Rosa in AJAX, AS 3.0, Business, DOM, Flash, Flex 3.0, Web 2.0, Xhtml

AJAX (acrônimo em língua inglesa de Asynchronous Javascript And XML) é o uso sistemático de tecnologias providas por navegadores, como Javascript e XML, para tornar páginas mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações web mais dinâmicas e criativas. AJAX não é uma tecnologia, são realmente várias tecnologias conhecidas trabalhando juntas, cada uma fazendo sua parte, oferecendo novas funcionalidades. AJAX incorpora em seu modelo.:

  • Apresentação baseada em padrões, usando XHTML e CSS;
  • Exposição e interação dinâmica usando o DOM;
    DOM (Document Object Model - Modelo de Objetos de Documentos) é uma especificação da W3C, independente de plataforma e linguagem, onde pode-se alterar e editar a estrutura de um documento. A API DOM oferece uma maneira padrão de se acessar os elementos de um documento, além de se poder trabalhar com cada um desses elementos separadamente, e por esses motivos criar páginas altamente dinâmicas.
  • Intercâmbio e manipulação de dados usando XML e XSLT;
    XSLT é a parte mais importante dos padrões XSL. Ele é a parte do XSL usada para transformar um documento XML em outro documento XML, ou um outro tipo de documento que é reconhecido por um browser, como HTML e XHTML. Normalmente XSLT faz isso transformando cada elemento XML em um elemento (X)HTML.
  • Recuperação assíncrona de dados usando o objeto XMLHttpRequest;
    XMLHttpRequest é um objeto Javascript que torna possível a comunicação assíncrona com o servidor, sem a necessidade de recarregar a página por completo. O objeto XMLHttpRequest é hoje parte da especificação do DOM  e JavaScript unindo todas elas em conjunto.

Adobe Flash (antes Macromedia Flash), ou simplesmente Flash, é um software primariamente de gráfico vetorial - apesar de suportar imagens bitmap e vídeos - utilizado geralmente para a criação de animações interativas que funcionam embarcadas num navegador web. O produto era desenvolvido e comercializado pela Macromedia, empresa especializada em desenvolver programas que auxiliam o processo de criação de páginas web. Em abril de 2005, a Macromedia foi adquirida pela Adobe Systems, fabricante de diversos softwares como o Photoshop ou Acrobat Reader, por exemplo.

Em versões recentes (a partir da 5), a Macromedia expandiu a utilização do Flash para além de simples animações, mas também para uma ferramenta de desenvolvimento de aplicações RIA. Isso graças aos avanços na linguagem ActionScript, que é a linguagem de programação utilizada em aplicações de arquivos flashes (.swf). A terceira versão desta linguagem acaba de ser lançada, tornando mais fácil e rápido criar aplicações para web, além de contar com recursos bem mais poderosos.

Uma nova plataforma, chamada Apollo, está sendo lançada pela Adobe e tem como objetivo solidificar o desenvolvimento da linguagem ActionScript, seja através do Flash, do Flex ou de outros programas.

Laszlo é uma plataforma que consiste na linguagem do LZX e a LPS (the Laszlo Presentation Server). LZX é um XML hábil e declarativo, baseado em processo de desenvolvimento que suporta rápida prototipação e desenvolvimento de software com excelente performance.

The Laszlo Presentation Server (LPS) é um Servlet que compila a aplicação LZX para executar em tempo real. Laszlo é renderizado no Flash Player ou em DHTML.

O Adobe Flex é o nome de um conjunto de tecnologias, lançada em Março de 2004 pela Macromedia, que suportam o desenvolvimento de aplicações ricas para a Internet baseadas na plataforma do Macromedia Flash.

É possível verificar que as aplicações feitas em Flash oferecem ao usuário uma experiência muito mais robusta, na qual a produtividade é envolvida pela facilidade de uso e interatividade em tempo real, impossível conseguir no HTML. Desenvolver aplicações ricas com o Flash para programadores torna-se de início estranho, pois o Flash trabalha com uma linha do tempo (timeline) que facilita o trabalho dos designers, mas pode confundir programadores iniciantes nesta ferramenta. O Flex remove esta barreira, fornecendo aos programadores um novo caminho de desenvolvimento de RIAs.

ActionScript 3.0
Poderosa linguagem de programação orientada a objetos para plataforma Flash. ActionScript 3.0 é projetado para criar uma linguagem adequada para construir rapidamente RIAs. Embora versões anteriores do ActionScript já ofereciam a potência e flexibilidade necessária para isso na nova versão do  ActionScript 3.0 o desempenho e a facilidade melhorou o desenvolvimento facilitando ainda mais  o desenvolvimento de aplicações com grandes dados com código reutilizáveis.

Linguagem MXML
Os arquivos desenvolvidos em Flex possuem a extensão MXML, a qual é uma linguagem de marcação. Para visualizar uma aplicação MXML o usuário faz uma requisição pelo seu servidor, o servidor recebe a requisição, o servidor do Flex compila o arquivo MXML para SWF (formato Flash – binário), este será rodado no Flash Player que será salvo na máquina do cliente e visualizado no navegador.

Versões do Flex
Flex SDK - O Flex 2 SDK é um compilador em modo caractere. É possível desenvolver aplicações Flex gratuitamente utilizando este compilador. O programador utiliza algum editor de sua preferência (Eclipse, bloco de notas, dreamweaver, etc), salva o arquivo mxml e através do SDK compila este arquivo para binário (.swf).

Flex 2 Builder - O Flex 2 Builder é bastante intuitivo. É um framework de desenvolvimento que oferece várias facilidades ao usuário, uma delas são os componentes. Estes componentes podem ser arrastados até o palco, configurados os parâmetros e depois feita a programação no modo de código. A grosso modo pode-se comparar ao Borland Delphi que tem essas funcionalidades de componentes prontos e programáveis, mas voltado para web.

Flex Data Services - oferece um conjunto de avançados recursos de gerenciamento de dados no lado do servidor que permitem aos desenvolvedores fornecer rapidamente aplicativos Flex que fazem intenso uso de dados.

WPF (Windows Presentation Foundation, também conhecido como Avalon) simplifica a construção de aplicações cliente ricas, uma vez que facilita a integração de media e documentos. O WPF introduz um sistema avançado de layouts, fácil integração de media e gráficos vectoriais e 3D, facilitando ainda a colaboração entre programadores e designers.