JS is compilation target for most modern x-platform UIs. Every big JS project is compiling some how: ES6/7/etc, TypeScript, Flow (ok, not exactly compiling), CoffeeScript, Elm, PureScript, Reason, GHCJS, ClojureScript, JSX, etc. etc.
And that is ok. Until WebAssembly matures, then those compilers will all just add it as a compiler backend.
To the detriment of the end desktop. You end up with an angry fruit salad that completely ignores the user's color, font, size, etc choices, and tends to have accessibility problems as well. Cross-platform javascript is just plain bad.
I'd say that at some point the accessibility options are better for website and webapps then for traditional desktop apps.
Color choices are the last of my worries, and we see that this is also greatly neglected in modern desktop apps (e.g.: Spotify and Chrome taking over the window title bar on most OSes).
There are reasons I try to avoid such "modern" desktop apps. Those choices make them much less usable and much less discoverable. Native widgets aren't some plague, they allow consistency and ease of use.
And that is ok. Until WebAssembly matures, then those compilers will all just add it as a compiler backend.