Hoje vamos iniciar os primeiros passos com a maquina virtual poliglota desenvolvida pela Oracle. Sim, estamos falando da famosa GraalVM.
Na matéria de hoje, focaremos na instalação da GraalVM, no momento da publicação dessa matéria, a versão é a 20.0.0 baseada no JDK 11. Além de executar códigos Java, Javascript e subir um servidor em NodeJs, tudo isso com a GraalVM.
A poucas semana falamos um pouco sobre essa maquina virtual e o lançamento da sua versão 20.0.0. De qualquer modo vamos recapitular um pouco sobre.
O que é a GraalVM?
A GraalVM é uma máquina virtual universal Open Source criada pela Oracle que executa aplicativos escritos em JavaScript, Python, Ruby, R, linguagens que já rodam na JVM, como Java, Scala, Groovy, Kotlin, Clojure e linguagens baseadas em LLVM, como C e C ++.
A GraalVM remove o isolamento entre linguagens de programação e permite a interoperabilidade em um tempo de execução compartilhado. As imagens podem ser executadas standalone ou nos contextos do OpenJDK, Node.js ou Oracle Database. Essa interoperabilidade permite desenvolver em java e acessar funcionalidades de outras linguagens.
Instalação da GraalVM.
Para realizar o download e instalar a GraalVM, vamos utilizar um gerenciador de pacotes. Como estou no Windows 10, vou utilizar o Chocolatey.
Para realizar o download e instalação do Chocolatey, acesse esse link.
Para fazer instalação da GraalVM com o Chocolatey basta executarmos no terminal o comando:
>choco install graalvm
Automaticamente o Chocolatey já cria as variáveis de ambiente Path e o java_home. Caso já tenha um JDK instalado, ele ira sobrepor o java_home, mas duplicar o path, desse forma preste atenção nisso.
Apenas para auxiliar, minhas variáveis de ambiente ficaram conforme tabela abaixo:
Variável de ambiente | Valor |
---|---|
JAVA_HOME | C:\Program Files\GraalVM\graalvm-ce-java11-20.0.0 |
Path | C:\Program Files\GraalVM\graalvm-ce-java11-20.0.0\bin |
Após verificar e ajustar suas variáveis de ambiente, reinicie seu terminal e execute o comando java –version.
A instalação será parecida nos demais sistemas operacionais, mas de uma googlada antes de começar. De qualquer modo, há a possibilidade de utilizar um container Docker e subir uma imagem da GraalVM.
Utilizando a GraalVM com Docker.
Para isso use o comando docker pull:
>docker pull oracle/graalvm-ce:20.0.0
E realize o Start do container com o docker run com bash:
>docker run -it oracle/graalvm-ce:20.0.0 bash
Apresentada essa forma, vamos partir para o código.
Executando Javascript com a GraalVM.
Para executar códigos javascript, basta escrever no terminal “js” seguido de um enter. Feito isso você já pode dar “printar” um Hello World, ou melhor, Hello Home devido a quarentena, direto na linha de comando conforme exemplo abaixo:
Executando Java com a GraalVM.
Como de costume utilizaremos o famoso “javac” para compilar as classes java e o comando “java” para executar. Crie um arquivo HelloHome.java conforme código abaixo:
public class HelloHome {
public static void main(String[] args) {
System.out.println("Hello Home! Estamos em quarentena!");
}
}
Compile e o execute no terminal:
Subindo um servidor com NodeJS.
Primeiramente, vamos criar um workspace e acessa-lo com o terminal. Apenas para auxílio, criei da seguinte forma abaixo:
Execute o comando “npm init” para a criação do package.json. Serão questionados alguns parâmetros, por hora, apenas pressione enter até finalizar os questionamentos.
>npm init
Instale com o npm os módulos colors e ansispan que serão registrados no package.json:
>npm install colors ansispan
Ao final, seu workspace terá os arquivos abaixo:
Com um editor de texto, crie um arquivo app.js com o script abaixo e salve no mesmo workspace, junto dos arquivos de configuração que acabamos de criar.
const http = require("http");
const span = require("ansispan");
require("colors");
http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/html"});
response.end(span("Hello Graal.js! Estamos em quarentena".green));
}).listen(8000, function() { console.log("Graal.js server running at http://127.0.0.1:8000/".red); });
De volta ao terminal, execute o arquivo app.js com a GraalVM utilizando o comando node.
>node app.js
Agora com o navegador, acesse seu localhost:
Caso queira derrubar o servidor, na linha de comando pressione Ctrl + c.
Epilogo
Conforme prometido, nessa matéria abordamos a instalação da GraalVM e executamos códigos Java, Javascript além de subir um servidor em NodeJs, tudo isso com a GraalVM.
Não houve nenhum mistério para essas atividades básicas. Caso queira saber mais sobre a versão 20.0.0, falei um pouco nessa matéria.
Muito obrigado e até a próxima.