ClojureScript vs TeaVM
ClojureScript
clojurescript.orgTeaVM
teavm.orgSide by side
| Figure | ClojureScript | TeaVM |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Code Transpilers | 8.4 (#4) | 6.7 (#28) |
| Debugging | The quick start says source mapped stack traces point to ClojureScript source locations instead of JavaScript locations. | TeaVM produces source maps, and its IDEA plugin supports debugging code from the IDE. |
| License | Use and distribution are covered by the Eclipse Public License 1.0. | The project repository states that TeaVM is distributed under the Apache License 2.0. |
| Optimization | Its JavaScript output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code. | TeaVM documents dead code elimination, devirtualization, and method renaming among its optimizer capabilities. |
| What it does | ClojureScript is a compiler for Clojure that emits JavaScript. | TeaVM is an ahead-of-time compiler that turns Java bytecode into JavaScript and WebAssembly for browsers. |
Plans
In their own words
ClojureScript
ClojureScript is a compiler that turns Clojure code into JavaScript for client and embedded application development wherever JavaScript reaches. It brings Clojure data structures and constructs—including functional programming, macros, destructuring, and polymorphism—into JavaScript environments. Its output is compatible with Google Closure Compiler advanced compilation, which can minify output and eliminate dead code. REPL support enables interactive development and testing in a browser or Node.js; the quick start uses browser output by default and selects Node.js output with a target setting. ClojureScript supports both ClojureScript and JavaScript dependencies, with React demonstrated in the quick start. Listed build tools include shadow-cljs, Figwheel, Leiningen, and lein-cljsbuild. Editor resources cover Cursive, Emacs, VS Code, Light Table, Sublime Text, Vim, and Atom. Documentation includes compiler and REPL options, dependencies, advanced compilation, source maps, and JavaScript module support marked Alpha. The project is open source under the Eclipse Public License 1.0 and lists Linux, macOS, Windows, web, and self-hosted environments.