J2V8
J2V8 is a set of Java bindings for V8. J2V8 focuses on performance and tight integration with V8. It also takes a 'primitive first' approach, meaning that if a value can be accessed as a primitive, then it should be. This forces a more static type system between the JS and Java code, but it also improves the performance since intermediate Objects are not created.
We developed J2V8 as a high performance engine for our multi-platform mobile toolkit tabris.js and it is a great choice for executing JavaScript on Android devices.
Building J2V8
Building J2V8 requires building both the native parts and the Java library (.jar/.aar file). To build the native parts we first build V8 as a monolithic library and then statically link J2V8 to that. The Java parts are built with maven/gradle.
J2V8 uses a cross-platform, cross-compiling build-system written in Python.
For any further build instructions & details please read BUILDING.md
Tutorials
- Getting Started With J2V8
- Registering Java Callbacks with J2V8
- Implementing WebWorkers with J2V8
- Multithreaded JavaScript with J2V8
- Using J2V8 with Heroku
Articles
- Announcing J2V8 4
- Running Node.js on the JVM
- Shipping J2V8 as an AAR
- Announcing J2V8 3.0
- J2V8 2.2 New and Noteworthy
- Announcing J2V8 2.0
- Highly Efficient Java & JavaScript Integration
- React.js SSR with J2V8
Presentations
Other Resources
Here is a list of articles I've written on J2V8 http://eclipsesource.com/blogs/tag/j2v8/.
Who is using J2V8?
Here are some projects that use J2V8:
License
The code is published under the terms of the Eclipse Public License, version 1.0.