4 ms·
GWT was a transpiler, optimizing Java compiler, optimizing JS compiler (had two backends inside of it), a container for hosted development environment, an annot
by cromwellian 8y ago
GWT was a transpiler, optimizing Java compiler, optimizing JS compiler (had two backends inside of it), a container for hosted development environment, an annotation processor environment (before Java annotation processors), an SDK with a huge number of APIs, a Linker, a UI toolkit, and on and on, it basically was an end to end build environment.
J2CL is a transpiler, from Java to Closure annotated JS. It does no optimizations. It has no APIs. It only deals with standard Java inputs, everything else: SDK, debugger, optimizer, build time processing, edit/refresh, etc all has to come from the rest of the toolchain.
GWT was monolithic. J2CL is a step in your build file.
J2CL also produces smaller code than GWT, compiles faster, and fits into existing JS ecosystem a lot better. It's not hard to say, wire up J2CL code with any arbitrary TS or JS node module.