There's a Kotlin native compiler in the works that will support IOS, Android (native), servers, and WASM as outputs. This makes it a proper full stack language. Compiling to WASM to target frontend code is the sensible thing to do. As far as I can tell, Dart 2 compiles directly to javascript instead of using WASM. This does not make sense to me as a thing to push in 2018. Kotlin has one as well but they have shifted development towards their native compiler and supporting javascript vial wasm.