Book Image

Supercharge Your Applications with GraalVM

By : A B Vijay Kumar
Book Image

Supercharge Your Applications with GraalVM

By: A B Vijay Kumar

Overview of this book

GraalVM is a universal virtual machine that allows programmers to compile and run applications written in both JVM and non-JVM languages. It improves the performance and efficiency of applications, making it an ideal companion for cloud-native or microservices-based applications. This book is a hands-on guide, with step-by-step instructions on how to work with GraalVM. Starting with a quick introduction to the GraalVM architecture and how things work under the hood, you'll discover the performance benefits of running your Java applications on GraalVM. You'll then learn how to create native images and understand how AOT (ahead-of-time) can improve application performance significantly. The book covers examples of building polyglot applications that will help you explore the interoperability between languages running on the same VM. You'll also see how you can use the Truffle framework to implement any language of your choice to run optimally on GraalVM. By the end of this book, you'll not only have learned how GraalVM is beneficial in cloud-native and microservices development but also how to leverage its capabilities to create high-performing polyglot applications.
Table of Contents (17 chapters)
1
Section 1: The Evolution of JVM
4
Section 2: Getting Up and Running with GraalVM – Architecture and Implementation
8
Section 3: Polyglot with Graal
13
Section 4: Microservices with Graal

Chapter 7: GraalVM Polyglot – JavaScript and Node.js

In the previous chapter, we looked at how Truffle provides a layer to integrate other language programs to run on GraalVM. In this chapter, we will focus on JavaScript and Node.js interpreters, and in the next chapter, we will cover other runtimes, such as Java/Truffle, Python, R, and WebAssembly. We will be covering aspects of the polyglot interoperability features of Truffle and exploring the JavaScript interpreter. We will be exploring these features hands-on by writing code.

In this chapter, we will cover the following topics:

  • Understanding how to run non-JVM language applications on Graal, specifically JavaScript and Node
  • Learning how to pass objects/values between applications written in different languages
  • Understanding how to use optimization techniques to fine-tune the code

By the end of this chapter, you will have a very clear understanding of how to build a polyglot application on GraalVM...