Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caoccao/javet
Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.
https://github.com/caoccao/javet
android engine java java-v8 javascript javet linux macos nodejs v8 v8-javascript-engine windows
Last synced: 1 day ago
JSON representation
Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.
- Host: GitHub
- URL: https://github.com/caoccao/javet
- Owner: caoccao
- License: apache-2.0
- Created: 2021-01-14T03:02:49.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-07T22:14:25.000Z (14 days ago)
- Last Synced: 2024-12-13T14:41:15.281Z (8 days ago)
- Topics: android, engine, java, java-v8, javascript, javet, linux, macos, nodejs, v8, v8-javascript-engine, windows
- Language: Java
- Homepage: https://www.caoccao.com/Javet/
- Size: 18 MB
- Stars: 754
- Watchers: 17
- Forks: 72
- Open Issues: 37
-
Metadata Files:
- Readme: README.rst
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Javet
=====|Maven Central| |Discord| |Donate|
|Linux x86_64 Build| |MacOS x86_64 Build| |MacOS arm64 Build| |Windows x86_64 Build| |Android Node Build| |Android V8 Build|
.. |Maven Central| image:: https://img.shields.io/maven-central/v/com.caoccao.javet/javet?style=for-the-badge
:target: https://central.sonatype.com/search?q=g:com.caoccao.javet.. |Discord| image:: https://img.shields.io/discord/870518906115211305?label=join%20our%20Discord&style=for-the-badge
:target: https://discord.gg/R4vvKU96gw.. |Donate| image:: https://img.shields.io/badge/Donate-green?style=for-the-badge
:target: https://opencollective.com/javet.. |Linux x86_64 Build| image:: https://github.com/caoccao/Javet/actions/workflows/linux_x86_64_build.yml/badge.svg
:target: https://github.com/caoccao/Javet/actions/workflows/linux_x86_64_build.yml.. |MacOS x86_64 Build| image:: https://github.com/caoccao/Javet/actions/workflows/macos_x86_64_build.yml/badge.svg
:target: https://github.com/caoccao/Javet/actions/workflows/macos_x86_64_build.yml.. |MacOS arm64 Build| image:: https://github.com/caoccao/Javet/actions/workflows/macos_arm64_build.yml/badge.svg
:target: https://github.com/caoccao/Javet/actions/workflows/macos_arm64_build.yml.. |Windows x86_64 Build| image:: https://github.com/caoccao/Javet/actions/workflows/windows_x86_64_build.yml/badge.svg
:target: https://github.com/caoccao/Javet/actions/workflows/windows_x86_64_build.yml.. |Android Node Build| image:: https://github.com/caoccao/Javet/actions/workflows/android_node_build.yml/badge.svg
:target: https://github.com/caoccao/Javet/actions/workflows/android_node_build.yml.. |Android V8 Build| image:: https://github.com/caoccao/Javet/actions/workflows/android_v8_build.yml/badge.svg
:target: https://github.com/caoccao/Javet/actions/workflows/android_v8_build.yml`Javet `_ is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding Node.js and V8 in Java.
If you like my work, please **Star** this project. And, you may follow me `@sjtucaocao `_, or visit https://blog.caoccao.com/ or https://caoccao.blogspot.com/. And the official support channel is at `discord `_.
💖 If you like my work, please `donate `_ to support me. If you have a retired Mac OS (x86_64) device and are fine with mailing it to me, that will be great because I don't have such device to support the community. Thank you for supporting Javet.
Major Features
========================= ======= ======= ======= =======
CPU Arch Android Linux MacOS Windows
=========== ======= ======= ======= =======
x86 ✔️ ❌ ❌ ❌
x86_64 ✔️ ✔️ ✔️ ✔️
arm ✔️ ❌ ❌ ❌
arm64 ✔️ ✔️ ✔️ ❌
=========== ======= ======= ======= =======* Node.js ``v22.12.0`` + V8 ``v13.2.152.16``
* i18n and non-i18n
* Dynamic switch between Node.js and V8 mode
* Polyfill V8 mode with `Javenode `_
* V8 API exposure in JVM
* JavaScript and Java interop
* Native BigInt and Date
* Javet engine pool
* Easy spring integration
* Live debug with Chrome DevTools
* AST analysis with `swc4j `_
* JS, TS, JSX, TSX transformation and transpilation with `swc4j `_
* Enhance JVM via Byte-code with `JavetBuddy `_
* Live interaction with `JavetShell `_Quick Start
===========Dependency
----------Maven
^^^^^.. code-block:: xml
com.caoccao.javet
javet
4.1.1
com.caoccao.javet
javet-node-linux-x86_64
4.1.1
com.caoccao.javet
javet-node-linux-arm64
4.1.1
com.caoccao.javet
javet-node-macos-x86_64
4.1.1
com.caoccao.javet
javet-node-macos-arm64
4.1.1
com.caoccao.javet
javet-node-windows-x86_64
4.1.1
com.caoccao.javet
javet-v8-linux-x86_64
4.1.1
com.caoccao.javet
javet-v8-linux-arm64
4.1.1
com.caoccao.javet
javet-v8-macos-x86_64
4.1.1
com.caoccao.javet
javet-v8-macos-arm64
4.1.1
com.caoccao.javet
javet-v8-windows-x86_64
4.1.1
Gradle Kotlin DSL
^^^^^^^^^^^^^^^^^.. code-block:: kotlin
implementation("com.caoccao.javet:javet:4.1.1") // Core (Must-have)
implementation("com.caoccao.javet:javet-node-linux-arm64:4.1.1")
implementation("com.caoccao.javet:javet-node-linux-x86_64:4.1.1")
implementation("com.caoccao.javet:javet-node-macos-arm64:4.1.1")
implementation("com.caoccao.javet:javet-node-macos-x86_64:4.1.1")
implementation("com.caoccao.javet:javet-node-windows-x86_64:4.1.1")
implementation("com.caoccao.javet:javet-v8-linux-arm64:4.1.1")
implementation("com.caoccao.javet:javet-v8-linux-x86_64:4.1.1")
implementation("com.caoccao.javet:javet-v8-macos-arm64:4.1.1")
implementation("com.caoccao.javet:javet-v8-macos-x86_64:4.1.1")
implementation("com.caoccao.javet:javet-v8-windows-x86_64:4.1.1")Gradle Groovy DSL
^^^^^^^^^^^^^^^^^.. code-block:: groovy
implementation 'com.caoccao.javet:javet:4.1.1' // Core (Must-have)
implementation 'com.caoccao.javet:javet-node-linux-arm64:4.1.1'
implementation 'com.caoccao.javet:javet-node-linux-x86_64:4.1.1'
implementation 'com.caoccao.javet:javet-node-macos-arm64:4.1.1'
implementation 'com.caoccao.javet:javet-node-macos-x86_64:4.1.1'
implementation 'com.caoccao.javet:javet-node-windows-x86_64:4.1.1'
implementation 'com.caoccao.javet:javet-v8-linux-arm64:4.1.1'
implementation 'com.caoccao.javet:javet-v8-linux-x86_64:4.1.1'
implementation 'com.caoccao.javet:javet-v8-macos-arm64:4.1.1'
implementation 'com.caoccao.javet:javet-v8-macos-x86_64:4.1.1'
implementation 'com.caoccao.javet:javet-v8-windows-x86_64:4.1.1'For more detail, please visit the `installation `_ page.
Hello Javet
-----------.. code-block:: java
// Node.js Mode
try (V8Runtime v8Runtime = V8Host.getNodeInstance().createV8Runtime()) {
System.out.println(v8Runtime.getExecutor("'Hello Javet'").executeString());
}// V8 Mode
try (V8Runtime v8Runtime = V8Host.getV8Instance().createV8Runtime()) {
System.out.println(v8Runtime.getExecutor("'Hello Javet'").executeString());
}Sponsors
========`HiveMQ `_ | `SheetJS `_
License
=======`APACHE LICENSE, VERSION 2.0 `_
Blog
====* `Performance Comparison of GraalJS, Javet and Nashorn `_
* `How to Elegantly Expose JsonNode in V8 `_
* `How to Compromise V8 on JVM `_
* `Is TypeScript a Good Choice for a Script Engine? `_
* `Run TypeScript Directly in Java `_
* `SSR — React + Spring Boot with Javet `_Documents
=========* `Javet Intro `_
* `Javet Javadoc `_
* `Javet Document Portal `_