Adobe AIR: preenchendo a lacuna entre desktop e web

2

John Warnock e Charles Geschke não construíram uma empresa apenas em 1982. Eles construíram a infra-estrutura para a forma como vemos a informação hoje. Sistemas Adobe. Esse é o nome associado ao Portable Document Format (PDF). É o padrão para arquivos compactos, pequeno o suficiente para ser enviado por e-mail, mas estável o suficiente para ser impresso. As empresas contam com ele para compartilhar documentos sem quebrar a formatação. Você o usa para ler artigos ou ver fotos. É basicamente uma fotocopiadora ilimitada instalada no seu disco rígido. Depois, há o conjunto criativo. Ilustrador. Photoshop. InDesign. Essas ferramentas permitem que qualquer pessoa, desde profissionais até amadores, manipule imagens e layouts. Sem Photoshop? Nada de LOLcats. A internet seria significativamente menos divertida.

Adobe mudou a criação de conteúdo. E agora eles querem mudar a forma como esse conteúdo fica online. O objetivo é simples. Faça com que o desktop e a web pareçam um só lugar.

No início de 2008, eles lançaram a versão 1.0 do Adobe AIR. É um tempo de execução de sistema operacional cruzado. Os desenvolvedores o utilizam para agrupar tecnologias HTML, Ajax, Flash e Flex. Eles podem então implantá-los como Rich Internet Applications (RIAs) diretamente no desktop. A Adobe está vendendo para desenvolvedores, empresas e usuários regulares. Você pode baixá-lo gratuitamente.

Mas o que isso realmente faz? E por que você deveria se importar?

Como aplicativos ricos de Internet mudam seu fluxo de trabalho

Então, o que é um RIA? É um aplicativo que se parece com um software de desktop, mas é desenvolvido com tecnologias da web. Os aplicativos da web tradicionais são limitados pela sandbox do seu navegador. Eles precisam de uma conexão constante com a Internet. Eles se sentem lentos.

O Adobe AIR remove essas restrições. Ele permite que os desenvolvedores empacotem seu código baseado na Web em aplicativos independentes. Você instala. Ele é lançado de forma independente. Não precisa do Chrome ou Firefox para funcionar. Ele acessa seus arquivos locais, seu calendário, seus contatos. Parece nativo.

Pense no Adobe Bridge. Ou até mesmo ferramentas simples como a extensão Adobe Reader. Antes do AIR, esses eram plug-ins desajeitados ou widgets da web limitados. Com o AIR, eles se tornam aplicativos adequados. Mais rápido. Mais suave. Compatível com off-line.

Isso é importante porque a web nunca foi projetada para trabalhos pesados. Ele foi projetado para documentos e links. Agora, com o Adobe AIR, você pode executar aplicativos complexos e com muitos dados sem sair do ambiente de trabalho. Você obtém o alcance da web com o poder do software nativo.

Por que os desenvolvedores escolhem o Adobe AIR

Para os modificadores de código, o apelo é claro. Você constrói uma vez. Você implanta em qualquer lugar. Windows. macOS. Linux. Não há necessidade de escrever aplicativos C++ ou Java separados para cada plataforma. Você se limita a HTML, CSS e JavaScript.

E não se trata apenas de portabilidade. É uma questão de acesso. O AIR dá aos aplicativos da web acesso aos recursos do sistema operacional. Diálogos de arquivo. Ícones da bandeja do sistema. Armazenamento off-line. Isso preenche a lacuna. Você para de criar “sites que funcionam como aplicativos” e começa a criar “aplicativos que vivem na web”.

As empresas adoram. Eles podem enviar atualizações instantaneamente. Chega de esperar que a TI instale patches em todas as máquinas. Basta atualizar o servidor. Os usuários receberão a nova versão na próxima vez que iniciarem o aplicativo.

O que isso significa para usuários comuns

Você provavelmente não se importa com a arquitetura do tempo de execução. Você se preocupa com o que funciona nele.

Para

O que o AIR realmente está nos bastidores

Antes de mergulhar nos detalhes do Adobe AIR, você precisa se livrar do jargão de marketing e entender o que realmente significa um tempo de execução entre sistemas operacionais. Basicamente, o Adobe AIR é um mecanismo de tempo de execução. Pense nisso como um tradutor.

Ao escrever código, você não está escrevendo em linguagem de máquina – os 0s e 1s brutos que a CPU entende. Você está escrevendo em linguagens de alto nível como HTML, XML ou JavaScript. O mecanismo de tempo de execução pega esse código e o traduz em instruções executáveis. Sem essa camada, seu computador é apenas um bloco silencioso.

Considere Java. Se um aplicativo for desenvolvido em Java, ele exigirá a instalação da Java Virtual Machine (JVM). Sem a JVM, o aplicativo não funciona. É a mesma lógica aqui. O Adobe AIR fornece a infraestrutura necessária para renderizar uma interface gráfica do usuário (GUI) em seu desktop. Não se trata apenas de janelas e ícones; trata-se da interface humano-computador que permite interagir com o software usando um mouse ou teclado. Na verdade, todo o seu sistema operacional é essencialmente um enorme mecanismo de tempo de execução, mediando entre o seu hardware e cada aplicativo que você abre.

Por que o “sistema operacional cruzado” é importante

Quando a Adobe chama o AIR de solução multiplataforma, isso significa que ele pode ignorar as diferenças subjacentes do sistema operacional. Um programa executado no macOS não precisa ser reescrito para parecer nativo no Windows XP. O AIR cuida da renderização.

É aqui que ele diverge bastante do Flash Player padrão. O Flash Player fica dentro do navegador. É um plugin. Os aplicativos Adobe AIR, entretanto, ficam na área de trabalho. Eles não precisam do Chrome ou Firefox para funcionar. Como o AIR inclui o renderizador HTML WebKit de código aberto, ele pode exibir conteúdo complexo da Web diretamente no seu ambiente de área de trabalho. Ele preenche a lacuna entre o mundo sandbox do navegador e os recursos nativos do sistema operacional.

Definindo o RIA

Você ouvirá frequentemente a Adobe se referir a Rich Internet Applications (RIAs). Este é um termo amplo para aplicativos da web que parecem software de desktop. Eles oferecem alta interatividade e conectividade. Sites como Flickr ou Google Maps são exemplos clássicos. Eles são envolventes, mas notoriamente difíceis de programar.

O Adobe AIR foi projetado para facilitar esse processo de desenvolvimento. Ele permite que os desenvolvedores aproveitem os melhores recursos de interação baseada na Web e os empacotem em uma experiência de desktop independente. O objetivo? Uma experiência de usuário que parece nativa, mas que mantém a conectividade da web.

Quem se beneficia com o Adobe AIR?

A Adobe posiciona a plataforma para atender três grupos distintos: desenvolvedores, empresas e usuários finais.

Desenvolvedores ganham uma vantagem significativa. Como o AIR oferece suporte a HTML, XML e JavaScript, eles não precisam aprender uma linguagem de codificação proprietária. Eles podem usar tecnologias da Web familiares para criar aplicativos de desktop. Isso diminui a barreira de entrada. Um desenvolvedor que sabe como construir um site pode criar um aplicativo de desktop com o mínimo de atrito.

Empresas usam o AIR para aprofundar o envolvimento dos usuários. Quando um usuário pode baixar um aplicativo diretamente para sua área de trabalho sem abrir um navegador, é mais provável que ele o mantenha em execução. O envolvimento contínuo supera a natureza efêmera de uma guia do navegador.

Usuários finais obtêm aplicativos mais fáceis de acessar e mais responsivos. Depois que o AIR estiver instalado, esses aplicativos estarão a apenas um clique de distância. Eles têm menos vontade de visitar um site e mais de lançar um software.

Aplicativo do mundo real: eBay Desktop

Não acredite apenas na palavra da Adobe. Veja o eBay. Eles lançaram um aplicativo eBay Desktop desenvolvido no Adobe AIR.

Por que? Porque verificar leilões em um navegador é complicado. Você precisa atualizar ou fazer login constantemente. O aplicativo eBay Desktop é executado de forma independente. Ele fornece atualizações contínuas sobre os itens para os quais você está licitando. Ele remove totalmente o atrito do navegador. Esta é a promessa do AIR: utilizar um fluxo de trabalho baseado na Web e otimizá-lo para o ambiente de desktop.

Ainda é relevante?

A paisagem mudou. Embora alguns desenvolvedores ainda mantenham projetos Adobe AIR, a tecnologia foi amplamente substituída por estruturas modernas e métodos nativos de desenvolvimento de aplicativos.

Se você está perguntando se precisa disso hoje, a resposta geralmente é não. Não é necessário em sistemas macOS modernos. Muitos de seus casos de uso foram absorvidos por aplicativos baseados em Electron ou ferramentas de desenvolvimento nativas iOS/Android. Funcionou. Resolveu um problema específico em meados dos anos 2000 e início de 2010. Mas a web e os desktops se fundiram de maneiras que não exigiam uma camada de tempo de execução separada.

“O Adobe AIR foi uma ponte. Ele permitiu que desenvolvedores web criassem aplicativos de desktop sem aprender código nativo. Essa ponte foi praticamente reconstruída.”

A tecnologia não morreu, mas não é mais a escolha padrão. Para a maioria dos usuários, a necessidade de instalá-lo desapareceu. Para desenvolvedores, é uma ferramenta legada. A web seguiu em frente.

O legado do Adobe AIR e a evolução da Web

O cenário do desenvolvimento web mudou drasticamente desde os primeiros experimentos. O que começou como uma curiosidade – preencher a lacuna entre o navegador e o desktop – evoluiu para algo muito mais mundano, mas igualmente difundido. Não precisamos mais de um ambiente de execução dedicado como o Adobe AIR para executar aplicativos avançados da Internet. O próprio navegador se tornou a plataforma.

Mas olhar para trás, para a época em que o AIR prometeu trazer o poder do desktop para as tecnologias da Web, revela por que a pilha atual é importante. Não se tratava apenas de nostalgia. Tratava-se de resolver um ponto de atrito específico: o acesso offline.

Preenchendo a lacuna antes do domínio do PWA

Em 2007 e 2008, a web estava primeiro online. Se sua conexão caiu, seu aplicativo parou de funcionar. O Adobe AIR mudou isso permitindo que os desenvolvedores empacotassem HTML, JavaScript e CSS em aplicativos independentes que pudessem armazenar dados localmente. Ele ofereceu uma amostra do software do futuro, onde seu aplicativo da web ficava em sua área de trabalho e funcionava sem sinal.

“O Adobe AIR oferece ao desenvolvimento web e desktop uma lufada de ar fresco.”

Isso não foi apenas um truque. Ele abordou as limitações do EULA padrão e os jardins murados do software de desktop. Ele permitiu que os desenvolvedores contornassem as restrições dos sandboxes do navegador enquanto ainda usavam padrões da web. Para os usuários, isso significava aplicativos que pareciam nativos, mas que foram desenvolvidos com tecnologias da web.

Por que a mudança aconteceu

O surgimento de Aplicativos Web Progressivos (PWAs) e APIs de navegador aprimoradas tornaram o AIR redundante. Os navegadores ganharam service workers, armazenamento em cache e arquivos de manifesto. Eles poderiam fazer cache offline, notificações push e até mesmo instalar na área de trabalho sem um tempo de execução separado. A Adobe eventualmente mudou seu foco, reconhecendo que a plataforma web estava se atualizando.

As fontes desse período, como a cobertura de Jacqui Cheng na Ars Technica ou os primeiros olhares de Ryan Paul, destacam uma fase de transição. Eles capturaram o entusiasmo de uma tecnologia que prometia unificar o desenvolvimento web e desktop. No entanto, eles também sugeriram os desafios: preocupações de segurança, atritos na instalação e a eventual obsolescência do próprio tempo de execução.

O que aprendemos

A lição da era AIR é clara: as plataformas convergem. Quando uma plataforma carece de um recurso, outra o adota. A distinção entre “aplicativo web” e “aplicativo desktop” está cada vez mais confusa. Os usuários esperam que suas ferramentas da web funcionem off-line, sincronizem entre dispositivos e sejam responsivas. Os desenvolvedores esperam que uma única base de código alcance várias telas.

Os links específicos para Como funciona a Web Semântica e Como funciona a infraestrutura da Internet daquela época nos lembram que a base desses aplicativos é complexa. Não se trata apenas da IU. É sobre como os dados se movem, como as páginas são renderizadas e como os protocolos de segurança evoluem.

Hoje, quando construímos para a web, estamos construindo para um futuro independente de dispositivos. O tempo de execução é o navegador. A API é o sistema operacional. O desafio não é mais preencher a lacuna. Ele otimiza desempenho, acessibilidade e privacidade em um ambiente que está sempre conectado.

As ferramentas mudam. A intenção permanece: oferecer aos usuários experiências poderosas e contínuas. Seja por meio de um executável independente ou de uma URL em uma guia, o objetivo é o mesmo. Acabamos de melhorar em esconder o maquinário.