

Using await/async detecting branches not using Threads/sync I/O for fastest performance. JTransc supports plain Java applications using Threads and sync I/O in JS converting that into an asynchronous version in JS It works for all targets and it is fully integrated in the workflow. You can use annotations to keep methods, classes and fields or another annotations. JTransc includes treeshaking in a simple way. Instead of generating huge projects including everything, or having complex proguard configuration files. Some classes like String, StringBuilder or ArrayList are implemented in a way that it uses native JavaScript/AS3/Dart.

And no need to know a proper heap size beforehand targeting JS. For example: when targeting JS you will use native JS best-in-class GC instead of a GCĮmulated in C++ & emscripten. Instead of generating C++ and then using emscripten or other technologies, JTransc allows you to generate code that is For example, Kotlin JS doesn't support full Java reflection. Using just one technology guarantees consistency between targets. Instead of using several technologies, JTransc allows you to target to several languages and platforms. You can use Java libraries with Kotlin code for example. One reason is that JTransc allows mixed projects. Or KotlinJS Kotlin backend that already targets JavaScript. For example, converting Java into JavaScript. There are a lot of technologies in order to convert languages into other ones. Without requiring a jitter or an external runtime. Into a target programming language / executable bundling all the required dependencies in a single file or folder, JTransc (Java Trans Compiler) is an AOT (ahead of time compiler) that compiles.
