# Introduction
ES4X is small runtime for EcmaScript >=5 applications that runs on graaljs (opens new window) with
the help of vert.x (opens new window). JavaScript is the runtime language but it does not use nodejs
.
# How it Works
Developing ES4X applications is not different from developing any other JavaScript
application. The package.json
file defines a project. A project will use and fetch dependencies from 2 different sources:
ES4X makes use of GraalVM (opens new window) which is a polyglot runtime on the JVM. This means
it is possible to use any JVM language as well as JavaScript
in applications.
Vert.x is used by ES4X in order to provide an optimized event loop and high performance IO library. Using Java
from
JavaScript
can be tedious as there's no way for IDEs to infer type information or APIs out of the box. For this reason
ES4X has a few packages published on npm
that make the development easier by providing a small shim
to map the
Java
API to JavaScript
plus the full API as TypeScript
.d.ts
definition files.
# Performance
ES4X was the fastest JavaScript
according to TechEmpower Frameworks Benchmark
Round #18 (opens new window). ES4X is the fastest on all tests when compared to
JavaScript
frameworks:
And ES4X was on the top #10 among all other frameworks in several tests, showing better performance than the most popular JVM frameworks:
Install →