Há um tempo atrás, comecei uma busca por uma forma de desenvolver uma aplicação desktop que me permitisse reaproveitar meus conhecimentos no desenvolvimento de aplicações web. Foi aí que me deparei com o Adobe AIR, alvo do exemplo deste post, onde vou deixar para fazer um post mais introdutório depois.
Neste post, estarei abordando o desenvolvimento de uma simples aplicação front-end em Adobe Air Java Script/HTML que integrará com um código Java, através de Socket.
A utilização de Socket com Adobe AIR é bem recomendado quando você precisar integrar suas aplicações Adobe AIR com linguagens, até o momento, não suportada diretamente pelo Adobe AIR.
Por se tratar de uma aplicação para demonstrar os conceitos básicos do desenvolvimento Adobe AIR JS/HTML, iremos partir de algo bem simples.
A aplicação front-end terá apenas um campo texto de entrada e um botão de ação (Veja o código abaixo).
Repare que todo o código é escrito em HTML e Java Script, apenas.
A utilização de Socket com Adobe AIR é bem recomendado quando você precisar integrar suas aplicações Adobe AIR com linguagens, até o momento, não suportada diretamente pelo Adobe AIR.
Por se tratar de uma aplicação para demonstrar os conceitos básicos do desenvolvimento Adobe AIR JS/HTML, iremos partir de algo bem simples.
A aplicação front-end terá apenas um campo texto de entrada e um botão de ação (Veja o código abaixo).
Repare que todo o código é escrito em HTML e Java Script, apenas.
Nota: Como podemos ver, importei uma biblioteca Java Script: AIRAliases.js. Esta biblioteca visa simplificar o desenvolvimento AIR atribuindo "aliases" mais simples para referenciarmos os objetos da AIR API. Por exemplo, ao invés de digitar:
var desktop = window.runtime.flash.filesystem.File.desktopDirectory;
Você digitará apenas:
var desktop = air.File.desktopDirectory;
Para trabalhar com Socket no Adobe AIR, utilizaremos a classe Socket na própria AIR API.
Para o envio e recebimento de mensagens com o Socket AIR, precisamos registrar dois eventos: air.Event.CONNECT e air.ProgressEvent.SOCKET_DATA, respectivamente.
O evento air.Event.CONNECT nos informa quando a conexão com o servidor Socket é iniciada e possível. E quando isto acontecer, a engine AIR irá acionar a função onSocketConnectionOpen, definida no Java Script.
O evento air.ProgressEvent.SOCKET_DATA, nos informa quando um dado é retornado pelo servidor Socket.
Neste exemplo, a engine AIR irá acionar a função onSocketDataReceiver.
No código abaixo, temos um exemplo da classe Java que desempenhará o papel de um servidor Socket, que escutará as solicitações na porta 9999.
Por fim, segue abaixo o descritor da nossa aplicação de exemplo.
Dica: Para simplicar a execução das aplicações Adobe AIR via prompt-console, acrescente o diretório ...\AdobeAIRSDK\bin na variável de ambiente PATH do seus sistema operacional.