GraalVM es una Virtual Machine Java open-source creada por Oracle que ejecutar aplicaciones escritas en JavaScript, Python, Ruby, R, lenguajes JVM como Java, Scala, Groovy, Kotlin, Clojure, y lenguajes basados en LLVM como C y C++.
GraalVM consta de 2 versiones, la Community y la Enterprise.
Entre sus principales características:
- Interoperabilidad entre lenguajes en un entorno compartido, en el ejemplo vemos cómo sobre Java podemos ejecutar. Por ejemplo podemos ver cómo sobre Java podemos ejecutar Javascript, R, Python,…
Pero también cómo sobre Python podemos hacer el equivalente:
- Imágenes nativas uno de los principales uso que se le están dando. Las imágenes nativas compiladas con GraalVM reducen el tiempo de arranque y el consumo de memoria de las aplicaciones basadas en JVM. Más info.
Esto es especialmente interesante en el ámbito de los microservicios donde muchos frameworks como Micronaut dan soporte a esta tecnología.
Spring está comenzando a dar soporte a las imágenes nativas GraalVM a partir de su versión 5.1, ahora mismo ya es viable ejecutar aplicaciones Spring Boot como imágenes nativas GraalVM a través de este proyecto: https://github.com/spring-projects-experimental/spring-graal-native (aunque todavía es una tarea ardua).
- Embebible: GraalVM puede embeberse en aplicaciones gestionadas y nativas, puede integrarse ya con OpenJDK, Node.js y la base de datos Oracle. Más info.
En próximos posts veremos cómo generar una imagen nativa de una aplicación Spring Boot.
[…] otro día publicamos este post presentando GraalVM, una tecnologías que sin duda va a hacerse importante dentro del ecosistema Java en este mundo […]