Executando aplicações AIR sem instalar o Adobe AIR no GNU/Linux

A Adobe lançou, há algum tempo, uma nova tecnologia chamada Adobe AIR. Explicando rapidamente, é um ambiente de execução que permite o desenvolvimento de aplicações web, mas independentes do navegador. Ele funciona mais ou menos como o Java, da Sun. Ou seja, você desenvolve uma aplicação AIR e precisa da máquina virtual pra ela poder funcionar.

Como a idéia é ser multiplataforma (será que escrevi isso corretamente? essa alteração do português está me matando… ), eles lançaram versões da máquina virtual para o Windows, Macintosh e GNU/Linux. Até aí tudo bem. As pessoas podem até comemorar isso como um avanço, por uma empresa ter se lembrado do pinguim (essa eu sei que escrevi direito… ). Porém, o instalador do GNU/Linux possui uma peculiaridade: ele precisa de privilégios de root para instalar. Isso mesmo. Você não pode instalá-lo em seu espaço de usuário. Só no sistema como um todo. Incômodo a parte, isso não seria problemático se não tivesse mais um pequeno detalhe. As aplicações AIR também exigem privilégios de root para serem executadas! Ou seja, se você quiser instalar qualquer aplicação, mesmo pra testes, precisar dar a ela privilégios de superusuário. Isso, no GNU/Linux, é algo quase insano. Instalar ou não uma aplicação com privilégio de root deveria ser opcional e não obrigatório. Tal prática pode até ser comum em outros (chamados) sistemas operacionais. Mas aqui na terra do pinguim isso beira a heresia. Uma explicação (com demonstração) desse problema pode ser encontrada nesse artigo (em inglês) no blog splitbrain.org.

Mas aí eu descobri uma publicação no blog do Logan Buesching que ensina como executar aplicações AIR sem ter que instalar nem a máquina virtual nem a aplicação. Ou seja, funciona tudo no seu espaço de usuário, sem problema algum. O restante desse artigo é uma tradução livre do original (que está em inglês).

Segundo o Logan, para que os aplicativos AIR funcionem, basta seguir os seguintes passos:

  1. baixe o AIR SDK;
  2. crie um diretório no lugar que você quiser e descompacte o arquivo dentro desse diretório;
  3. baixe uma aplicação AIR (uma sugestão para testes é o Spaz, um excelente cliente de código aberto para o Twitter);
  4. mais uma vez, crie um diretório no lugar que você quiser e descompacte o arquivo .AIR (isso mesmo, apesar da terminação, esse é na verdade um arquivo zipado);
  5. digite o comando baseado no seguinte modelo:

<caminho_do_air_sdk>/adl -nodebug <caminho_da_aplicação_air>/META-INF/AIR/application.xml <caminho_da_aplicação_air>

(esse comando deverá ficar todo em uma linha só)

Por exemplo, imagine que você descompactou o AIR SDK em um diretório air_sdk, dentro da raiz seu diretório de usuário (home) e o Spaz dentro de um diretório spaz, também dentro do seu diretório de usuário. Dessa forma, o caminho para o AIR SDK será ~/air_sdk e para o Spaz, ~/spaz (~ é um atalho que significa a raiz do diretório de usuário atual). Assim, o comando acima ficaria da seguinte forma:

~/air_sdk/bin/adl -nodebug ~/spaz/META-INF/AIR/application.xml ~/spaz/

Eu fiz uns testes aqui e funcionou. A aplicação rodou meio lenta, mas estou atribuindo isso ao fato da necessidade da máquina virtual (aplicações Java também não são um primor de velocidade aqui). Mas façam o teste e vejam o que acham. Se alguém quiser colococar nos comentários o resultado obtido com essa e outras aplicações, será de grande valia…