Wagner Andrade / 15 posts / 28 comments / feed / comments feed

Aplicação web em um executável

Um tempo atrás estava brincando com Sinatra, mostrando para um outro desenvolvedor como era simples fazer uma aplicação pequena (muito pequena) com esse framework. Estava usando Windows. Então lembrei de um script que converte aplicações feitas em Ruby para um aquivo executável (o clássico exe). Utilizei esse conversor com uma aplicação feita com Sinatra, e funcionou!

Sinceramente não sei a utilização prática disto, mas serve como arte.

Neste post não vou escrever nenhum tutorial sobre Sinatra, nem mesmo vou abordar suas funcionalidades. Para mais informações sobre esse framework acesse o seu repositório no Github.

Primeiro instale a gem do Sinatra. Feito isso, vamos construir o script com a aplicação web. Vale lembrar que é bem simples e serve apenas para o exemplo. Crie um aquivo com o nome webapp.rb e adicione o seguinte conteúdo:

Ao rodar esse script (ruby webapp.rb) o Sinatra vai disponibilizar a aplicação na porta 4567, a porta padrão deste framework. Acesse com o navegador os seguintes endereços: [http://localhost:4567/], [http://localhost:4567/usuarios] e [http://localhost:4567/usuarios/Seu+nome+aqui].

Se funcionou, verá respostas, com html bem simples, respectivamente: “Olá”, “Usuários” e “Olá, Seu nome aqui”. Mude o nome em “Seu+nome+aqui” para ver um resultado diferente.

Agora vamos transformar essa aplicação em um executável. Baixe o rubyscript2exe, esse é o script que fará a conversão. Segue aqui o link para download direto, já que o site é meio confuso. Baixe o arquivo para o mesmo diretório do webapp.rb.

Converter é mais simples que criar a aplicação web. Basta, via linha de comando (os usuários do Windows geralmente têm medo desta parte), executar o comando:

ruby rubyscript2exe.rb webapp.rb

Uma dica: Execute esse comando com a aplicação webapp rodando (ruby webapp.rb). O conversor executa o script enquanto converte a aplicação, e como é um servidor de aplicação, não tem fim. Com o script rodando, vai dar um erro na hora de converter, mas ignore isso, tudo ficará bem.

Está pronto. Se tudo deu certo, foi criado um arquivo chamado webapp.exe. Execute-o e acesse os mesmos endereços pelo navegador, aí está sua aplicação. É possível utilizar recursos de banco, imagens, estilos ou seja lá o que vai usar de recursos no script, já que o conversor busca as dependências (outros scripts Ruby) para “compilar”.

Se alguém encontrar uma utilidade para isso, me fale!

No comments

Deixe um comentário