Aplicações RIA com Adobe Apollo

Esse artigo introdutório dá uma visão geral da nova plataforma de desenvolvimento de aplicações RIA da ADOBE : Adobe Apollo.

Aplicações RIA com Adobe Apollo


Introdução


Nessa época de frameworks , ferramentas e várias opções interessantes para desenvolvimento de aplicações RIA (Rich Interface Application) para internet / intranet , a empresa Adobe lança um produto chamado "Adobe Apollo" que reunirá várias tecnologias (Flash , Flex, Html , Javascript) em uma plataforma capaz de produzir aplicativos extremamente atraentes de forma prática e com baixo custo .

Uma aplicação web hoje para ser considerada boa deve seguir uma série de requisitos que causam extrema pressão nas equipes de desenvolvimento . Esses requisitos são bem conhecidos mas vale a pena citar alguns :
  1. Usabilidade : ninguém deve ser perder navegando pelo sistema.
  2. Mímica de desktop : se era feito em VB ou em Delphi , por que não fazer no browser
  3. Rapidez e responsividade : nada de gastar um monte de tempo esperando a página "voltar"
  4. Escalabilidade : aguentar um monte de usuários sem "arriar"  o sistema . E se o sistema "arriar" , adicionar mais recursos computacionais sem ter que mudar tudo o que ja foi feito.
  5. Baixo custo : frameworks para web baratearam o custo de desenvolvimento trazendo performance no desenvolvimento
  6. Manutenabilidade : os mesmos frameworks permitem que excelentes aplicacoes sejam feitas de forma clara e manutenível
  7. Agregar valor para o cliente : fazer o melhor também permite que o cliente lucre ! Uma boa aplicacao de CRM por exemplo pode diminuir o tempo médio de atendimento , o que barateia a operação ! Um bom site de compras pode valoriar uma marca...
  8. Facilidade de entrega (deploymet) : basta um clique e o cliente "sai usando" o sistema sem precisar instalar uma tonelada de coisas. 
Vejamos então o que é o Adobe Apollo e como ele pode atacar os pontos descritos acima

O que é Apollo

Apollo é o nome de uma "engine" multi-plataforma (até a data da publicação desse artigo , era possível baixar versões compatíveis com Mac OS e Windows) que permitirá usar recursos comuns para desenvolvedores web tais como flash , html , javascript para desenvolvimento de aplicativos desktop para internet. O conceito é um pouco diferente : quebrar a barreira entre o que é aplicação da internet e desktop.

A vantagem é trazer para o cliente uma experiência rica: ele pode navegar no programa como se estivesse na web ( e realmente estará) mas com todas as vantagens do desktop ! Essas vantagens seriam :

Claro que isso tudo envolve uma série de cuidados com segurança , autorização e autenticação já que sistemas maldodos poderiam causar um estrago.

Vocês podem estar pensando que já viram isso antes com Java WebStart , applets java assinadas, Componentes ActiveX ou Mozilla XUL . Mesmo a Microsoft tem planos de em futuras versões do Internet Explorer permitir que um sistema rode "desconectado". Apesar de o Apollo não ser totalmente inovador, ele tende a conquistar um nicho de mercado pois se apóia em produtos top de linha : Flash e PDF.

Iniciando com o Apollo

Antes de mais nada devemos instalar o Runtime.Vamos por partes:

Por enquanto está simples mas e agora ? Um bom começo é sempre ver alguma coisa pronta , pra sentir o cheiro do bife antes de dar uma mordida . Portanto , baixe alguns exemplos na página de exemplos. Repare que nessa página existem arquivos com a extensão .AIR. São aplicativos que rodam sobre o runtime que acabamos de instalar.

  1. Clique em Maptacular.air . Abrirá uma janela perguntando "Are you sure you want to install this application to your computer?" Aperte install.A proxima tela tem 2 opções ja marcadas alem da indicação onde o programa será instalado.
  2. Clique em "Continue". Na ultima tela , a opção pre-selecionada indica que se o finish for apertado , a aplicação será executada (figura 1).
  3. Aperte o botão finish

Figura 1


Sem mais demoras , aparecerá a tela principal de "Maptacular" que interagem com o Google Maps. Legal demais ! Você está vendo conteúdo web fora do browser. Essa aplicação faz o casamento do google maps com vcards salvos na máquina local. Vcards pra quem não sabe é um formato padronizado para troca de cartões . Pra maiores detalhes veja http://en.wikipedia.org/wiki/VCard .

Quando você clicar no ícone do Maptacular no seu desktop , uma tela do google Maps abrirá (figura 2).

(figura 2)

 Ainda não tem nenhuma novidade entretanto se você levar o mouse levemente até o lado esquerdo da tela , uma janela com uma estrutura de diretórios aparecerá. Essa estrutura contém os dados dos Vcards de vários contatos : restaurantes , pessoas, lugares interessantes organizados por categoria (figura 3).

 

Figura 3

Se você abrir uma categoria e arrastar um vcard para o mapa , o mapa mostrará a localização do contato do vcard.  Com esse exemplo simples você poderia desenvolver um assistente pessoal para um vendedor !

Formato do .AIR

Se abrirmos um arquivo .AIR com um programa descompactador como Winzip , veremos que ele é composto de vários componentes . Na pasta bin , esta o filme flash. Na pasta icons , o icone do AIR. Na pagina meta-inf , o descritor do programa e na raiz um executável do programa além do arquivo de vcard utilizado (.vcf) e o mimetype . O detalhamento desse empacotamento será alvo de outro artigo. 

Resolvendo problemas

Por esse pequeno exemplo , podemos tirar uma conclusão de como o Apollo pretende resolver as questões citadas no início do artigo

  1. Usabilidade : Continua dependendo do bom senso do programador ! Animações e componentes que voam de um lado para o outro podem ser engraçadinhos no início mas costumam cansar no dia a dia . Recursos avançados entretanto permitem que desenvolvedores e designers criativos criem interfaces melhores. 
  2. Mímica de desktop : não é imitação . Os aplicativos realmente são desktop.
  3. Rapidez e responsividade : Todo processamento de telas é deslocado para o cliente deixando o servidor responsável por servir os dados através de Webservices ou XML-RPC. Se a máquina do cliente for boa assim como o servidor , a coisa será instantânea.
  4. Escalabilidade : Removido processamento da interface de cliente do lado do servidor , muito mais clientes poderao ser atendidos com o mesmo parque de hardware. 
  5. Baixo custo : o custo total deve baixar com o tempo. Ainda não existem vários fornecedores de ferramentas para essa plataforma bem como mão-de-obra especializada em grande quantidade.
  6. Manutenabilidade : Depende da arquitetura que definirá a modularizacao e divisão de responsabilidades entre tela e servidor. Alem disso, boas praticas de programação também se aplicam a linguagem base do framework que e o ActionScript.
  7. Agregar valor para o cliente : Interfaces rápidas , intuitivas e mais bonitas beneficiam o cliente que fica satisfeito com ganhos em produtividade e podem aliar sua marca a um software que deixe seu mercado consumidor bem atendido.
  8. Facilidade de entrega (deploymet) : A instalação do Runtime tem a mesma dificuldade de se instalar um plugin do flash. Instaladores podem ser criados e sera possível atualizar os aplicativos de forma transparente.

Conclusão

Com a demanda por aplicações que valorizem cada vez mais o tempo e o dinheiro do cliente, a Adobe está tentando abocanhar uma fatia de mercado utilizando ferramentas e padrões conhecidos com conceitos relativamente novos. Difícil arriscar uma previsão para o Apollo nos próximos meses ou anos mas sendo Adobe , vale a pena ficar de olho ! Até a próxima.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados