> But type safety doesn't really exist in javascript. Structures like interfaces and classes don't really exist.
You know where else none of that exists? In the machine code on which the JVM rests and to which Java code can be JIT compiled by the JVM before execution.
So, if you can't have it compiling to JS, you never could have it on the JVM, either.
It's not the same thing at all. Javascript isn't machine code, and it isn't bytecode. It's its own completely separate high-level language, that executes in an unsafe, unpredictable and highly mutable environment.
You should tell that to google adwords, inbox, and AWS console, then. All of them are developed with GWT, and haven't functioned in any unsafe, unpredictable, or highly mutable way.
You know where else none of that exists? In the machine code on which the JVM rests and to which Java code can be JIT compiled by the JVM before execution.
So, if you can't have it compiling to JS, you never could have it on the JVM, either.