awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
konsoletyper avatar

konsoletyper/teavm

0
View on GitHub↗
2,997 stars·304 forks·Java·apache-2.0·17 viewsteavm.org↗

Teavm

TeaVM is a Java bytecode transpiler and browser-based JVM runtime that converts compiled Java class files into JavaScript or WebAssembly. It functions as a compiler and build pipeline tool that enables applications written in various JVM languages to execute natively within a web browser.

The project distinguishes itself by transforming bytecode directly into optimized web formats without requiring the original source code. It includes a WebAssembly bytecode compiler for high-performance execution and a specialized emulation system to handle asynchronous multithreading within the single-threaded environment of a browser.

The toolchain incorporates static analysis for tree-shaking to reduce bundle size and generates source maps to link transpiled execution back to original source code for debugging. It provides programmatic compiler integration and mechanisms for interoperability between the virtual machine and native browser objects.

Features

  • Bytecode-to-JavaScript - Converts JVM class files into JavaScript source code by mapping bytecode instructions to equivalent high-level operations.
  • JVM-to-Web - Converts JVM bytecode into JavaScript or WebAssembly for execution in a web browser.
  • Browser-Based Runtimes - Provides an execution environment that runs Java applications natively in the browser by transpiling bytecode to web standards.
  • JavaScript Interoperability - Provides mechanisms for exchanging data and invoking functions between the JVM runtime and the native JavaScript environment.
  • Source-to-JavaScript Transpilers - Converts Java bytecode into JavaScript to run existing JVM applications natively within a web browser.
  • Java Bytecode Transpilation - Converts compiled Java class files into JavaScript or WebAssembly for browser execution without requiring original source code.
  • Bytecode Translators - Translates JVM bytecode into a WebAssembly binary format for near-native execution speed within the browser.
  • Client-Side Execution Environments - Executes Java logic in the browser while maintaining the ability to call JavaScript functions and access browser objects.
  • JVM Web Frameworks - Runs applications written in various JVM languages on the web by compiling bytecode into browser-compatible formats.
  • WebAssembly Compilation - Transforms Java bytecode into WebAssembly to execute high-performance applications directly inside a web browser.
  • Execution Emulations - Implements a specialized emulation system to simulate asynchronous multithreading within the browser's single-threaded main loop.
  • Transpilation Mapping - Generates source maps that link transpiled JavaScript execution back to the original Java source code for debugging.
  • Source Map Generators - Generates mapping files that link transpiled JavaScript output back to the original bytecode and source lines for debugging.
  • Concurrency Emulation - Simulates concurrent execution by splitting tasks into discrete chunks to prevent blocking the browser main loop.
  • JavaScript Optimizers and Minifiers - Optimizes JavaScript output by removing unused code and simplifying variable usage to reduce bundle size.
  • JVM-to-JavaScript Type Mappings - Maps Java types and object structures to JavaScript prototypes to preserve object-oriented behavior and memory layouts.
  • JVM Ecosystem - Compiles bytecode from various JVM source languages into executable formats that run directly within a web browser.
  • WebAssembly Performance Optimizations - Generates optimized WebAssembly or JavaScript from bytecode to improve execution speed and reduce bundle size.
  • Build Automation Pipelines - Provides a programmatic compiler for automating the transformation of bytecode into production-ready web assets.
  • Tree-Shaking Optimizations - Removes unreachable code and unused classes by analyzing the call graph to minimize the final output size.
  • Language Compilers - Transpiles Java bytecode to JavaScript and WebAssembly.

Star history

Star history chart for konsoletyper/teavmStar history chart for konsoletyper/teavm

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does konsoletyper/teavm do?

TeaVM is a Java bytecode transpiler and browser-based JVM runtime that converts compiled Java class files into JavaScript or WebAssembly. It functions as a compiler and build pipeline tool that enables applications written in various JVM languages to execute natively within a web browser.

What are the main features of konsoletyper/teavm?

The main features of konsoletyper/teavm are: Bytecode-to-JavaScript, JVM-to-Web, Browser-Based Runtimes, JavaScript Interoperability, Source-to-JavaScript Transpilers, Java Bytecode Transpilation, Bytecode Translators, Client-Side Execution Environments.

What are some open-source alternatives to konsoletyper/teavm?

Open-source alternatives to konsoletyper/teavm include: scala-js/scala-js — Scala.js is a compiler and cross-platform language toolchain that transforms Scala source code into JavaScript or… clojure/clojurescript — ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables… google/closure-compiler-js — Closure Compiler is a JavaScript build utility designed to transform, optimize, and validate source code for… webassembly/binaryen — Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules.… rescript-lang/rescript — ReScript is a statically typed programming language and compiler designed to transform type-safe source code into… brython-dev/brython — Brython is a Python 3 runtime and interpreter that executes scripts directly in the web browser. It serves as a…

Open-source alternatives to Teavm

Similar open-source projects, ranked by how many features they share with Teavm.
  • scala-js/scala-jsscala-js avatar

    scala-js/scala-js

    4,701View on GitHub↗

    Scala.js is a compiler and cross-platform language toolchain that transforms Scala source code into JavaScript or WebAssembly. It functions as a statically typed tool for the JavaScript ecosystem, enabling the development of applications for web browsers and Node.js environments. The project serves as a JavaScript interop framework, allowing the creation of type-safe facades and bindings to interact with external libraries and global objects. It provides mechanisms for both static and dynamic JavaScript invocation, including the generation of TypeScript bindings and the ability to export inte

    Scala
    View on GitHub↗4,701
  • clojure/clojurescriptclojure avatar

    clojure/clojurescript

    9,388View on GitHub↗

    ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables functional programming across different JavaScript engines and platforms, allowing developers to build user interfaces and applications for web browsers and server environments. The project provides a read-eval-print loop for executing code live within a browser or server for immediate feedback. This facilitates an interactive development workflow where code can be written and tested in real time without restarting the application. The system covers a broad capability surface, i

    Clojure
    View on GitHub↗9,388
  • google/closure-compiler-jsgoogle avatar

    google/closure-compiler-js

    1,834View on GitHub↗

    Closure Compiler is a JavaScript build utility designed to transform, optimize, and validate source code for production environments. It functions as a minifier and transpiler, converting modern ECMAScript syntax into older, widely compatible versions to ensure reliable execution across diverse browsers. The tool distinguishes itself through a multi-pass optimization pipeline that performs complex refactoring, such as constant folding, function inlining, and variable renaming. It utilizes a static type inference engine to detect potential runtime errors and enforce type safety without requiri

    JavaScript
    View on GitHub↗1,834
  • webassembly/binaryenWebAssembly avatar

    WebAssembly/binaryen

    8,354View on GitHub↗

    Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ

    WebAssemblyc-plus-pluscompilersemscripten
    View on GitHub↗8,354
  • See all 30 alternatives to Teavm→