jun 30

Olá,

O Adobe AIR é uma excelente oportunidade para quem quer desenvolver um software multi-plataforma, sendo 100% uma aplicação html/js ou flash/flex.

Na verdade, o Adobe AIR nada mais é do que um navegador webkit contando com o auxílio de bibliotecas javascript nativas a mais, que são as bibliotecas que ficam no pacote air.*.

Hoje vou apresentar como usar o NativeProcess do Adobe AIR 2 para chamar por exemplo o “notepad/gedit” pela sua aplicação AIR.

Eu estou desenvolvendo usando o Aptana, que é uma IDE free e muito boa para aplicações com Adobe AIR e Ajax, possuindo até mesmo debug.

Vamos lá.

1 – Baixe e instale o Aptana(http://www.aptana.com/)

2 – Baixe e instale o Adobe AIR 2 SDK (http://get.adobe.com/br/air/)

3 – Abra o Aptana e instale o plugin para Adobe AIR

4 – Adicione o SDK na lista de SDK do Adobe AIR dentro do Aptana, no menu Window->Preferences

5 – Crie um novo projeto do tipo “Adobe AIR”, no menu “File->New->Project”, item “web->Adobe AIR Project”

6 – Agora vou colocar um código de exemplo:

var process;

function abrirPrograma()

{
var file = null;

if (air.Capabilities.os.toLowerCase().indexOf(“win”) > -1)
{
file = file.resolvePath(“c:\\windows\\system32\\notepad.exe”);
}
else
{
file = file.resolvePath(“gedit”);
}

var arguments = new air.Vector["<String>"]();
arguments.push(‘teste.txt’);

var nativeProcessStartupInfo = new air.NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
nativeProcessStartupInfo.arguments = arguments;
process = new air.NativeProcess();
process.addEventListener(air.ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.addEventListener(air.ProgressEvent.STANDARD_INPUT_PROGRESS, inputProgressListener);

process.start(nativeProcessStartupInfo);

if(process && process.running){
alert(‘rodando’);
}
}

function inputProgressListener(event)
{
process.closeInput();
}

function onOutputData(event)
{
var bytes = process.standardOutput;
alert(bytes.readUTFBytes(bytes.bytesAvailable));
}

Bom, o código esta ai, é bem simples de entender.

Adicionei até mesmo a chamada com parâmetros, pois quase ninguém conhece que o Adobe AIR disponibiliza uma imitação de vetor para javascript, para que seja feita a conversão entre tipos, caso precise integrar JS + Flex/Flash.

Eu estou fazendo um projeto onde estou colocando dentro da minha aplicação AIR o JRuby e chamando desta mesma forma ai, basta copia a pasta do jruby para dentro da aplicação e chamar assim:

if (air.Capabilities.os.toLowerCase().indexOf(“win”) > -1)
{
file = file.resolvePath(“jruby/bin/jruby.exe”);
}
else
{
file = file.resolvePath(“jruby/bin/jruby”);
}

Funciona no Linux, Windows e Mac.

Ah, não esqueça de adicionar no arquivo “application.xml” da sua aplicação AIR o seguinte:

<supportedProfiles>extendedDesktop</supportedProfiles>

Antes de:

</application>

Isso permite sua aplicação executar o NativeProcess, senão o Adobe AIR vai gerar uma exceção dizendo que o sistema não permite usar esta API.

jun 2

Olá,

Decidi fazer este tutorial por uma necessidade própria e que pode ajudar a algumas pessoas que estão começando também com o Maven:

Vou ter como base que o nome do meu projeto se chamará “nome_projeto” e que ficará na pasta “/home/[seu_usuario]/projetos”, então onde você achar esta string, basta trocar pelo nome do seu projeto, mas também pode ser feita qualquer outra alteração depois que você entender o conceito.

Não esqueça de trocar o [seu_usuario] pelo nome do seu usuário no Ubuntu, e no Windows basta informar o caminho normalmente, exemplo: “c:\workspace”.

No tutorial, estou usando ubuntu, mas funciona em qualquer computador com o maven e eclipse instalado.

Não vou cobrir a parte de instalação do Eclipse por ser bem básico, que é somente baixar o ZIP em eclipse.org e extrair para uma lugar qualquer.

O tempo para fazer este tutorial é de 3 minutos, apesar de ter bastante texto, é super simples, mas detalhei o clique de cada botão em cada processo para não surgir dúvidas.

Tópico 1: Instalando o Maven

- NO LINUX (Ubuntu)

http://www.mkyong.com/maven/how-to-install-maven-in-ubuntu/

- NO WINDOWS

http://wiki.indivohealth.org/index.php/Installing_and_Configuring_Maven_-_Windows

Em ambos é bem simples este passo, no Ubuntu você apenas usa o apt-get e no windows basta baixar o zip, adicionar no path e criar o repositório.

Tópico 2: Criação do projeto [nome_projeto]

>mkdir ~/projetos

>cd ~/projetos

>mvn archetype:create -DgroupId=br.com.dominio.nome_projeto -DartifactId=nome_projeto -DarchetypeArtifactId=maven-archetype-webapp

>cd nome_projeto

>mvn eclipse:clean

>mvn eclipse:eclipse

>mvn -Dwtpversion=2.0 compile eclipse:eclipse

Tópico 3: Importando projeto no Eclipse

3.1 – Abra o Eclipse

3.2 – Clique no menu FILE > IMPORT

3.3 – Selecione o item: Existing project into Workspace

3.4 – Informe o caminho onde a pasta do projeto foi criada, que no nosso exemplo é: /home/[seu_usuario]/projetos, que seria o nosso “~/projetos”, mas no eclipse precisa informar o caminho completo, pois o comando “~/projetos” só o terminal reconhece.

3.5 – Clique no botão FINISH

Tópico 4: Configurando no Eclipse, a variável do repositório do Maven

Ao importar o projeto, provavelmente aparecerá umas marcações de erro pois é preciso alterar os seguintes itens:

4.1 – Vá na opção “properties” do seu projeto (clique com o botão direito em cima do projeto)

4.2 – Menu: Java build path

4.3 – Aba: Libraries

4.4 – Clique no botão: Add variable

4.5 – Clique no botão: Configure variables

4.6 – Clique no botão: New

4.7 – Preencha os dados:

4.7.1 – Name: M2_REPO

4.7.2 – Path: /home/[seu_usuario]/.m2/repository  (no windows você informa a pasta onde você criou o repositório)

4.8 – Clique em OK para confirmar tudo e volte para a tela inicial do Eclipse

Tópico 5: Resolvendo problema de versão do Facet

5.1 – Na aba “Markers” do Eclipse terá um item em vermelho, clique na seta ao lado deste item para expandir

5.2 – Clique com o botão direito no subitem “Java compiler level does not match the version of the installed Java project facet”

5.3 – No menu que aparecer vá em “Quick fix” (ou control+1)

5.4 – Marque: “Change java project facet version to java 6″ e clique em “Finish”

Tópico 6: Finalizando

Pronto, agora basta adicionar o servidor de sua preferência e fazer o deploy nele e acessar pela url:

http://localhost:8080/nome_projeto

Espero ter ajudado. Em breve vou colocar os plugins de clean e copy-dependencies no Maven para facilitar mais ainda a vida de quem usa o Maven.