I know <@U0BUH9FRD> is doing a great job of sellin...
# webassembly
f
I know @sdeleuze is doing a great job of selling it, but is it officially on the radar/roadmap for Jetbrains?
1
n
Excellent question. There is way too much focus with Kotlin Native on the iOS development side. Kotlin Native's focus needs to be spread to multiple areas, especially WASM which will have a much bigger impact, and provide way more benefits for Kotlin than iOS.
g
I disagree. At the moment iOS is much-much bigger selling point than wasm and much bigger market for Kotlin Wasm potentially is interesting but to be honest for now is on early stage
Also it's completely not clear that wasm backend should be based on K/N. As I understand point of Sebastien, he actually thinks that separate backend with better js support is better solution than usage of llvm for this
s
But there are drawbacks that you can see on Kotlin/Native or GraalVM native image : compilation is slow, generated artifact are platform specific, welcome to the new world !!! That's where WebAssembly has a huge potential. IMO it is what the JVM has always wanted to be. It has the required characteristic to be a universal target format that can be used to deploy your application on the Cloud, on mobile, IoT, desktop, web, etc. Compilation is fast. You can run isolated WebAssembly applications with much less ressources and complexity that what we do currently where we ship one OS per application. The question is: what language will matter in this platform. Rust is great for high performance library but the language has far too much noise for using it for regular entreprise software development. AssemblyScript is interesting but I think WebAssembly is an opportunity to avoid building on top of JavaScript. Swift, Go (which will get generics and better error management shortly) and Kotlin are the kind of language that could be a good fit with WebAssembly if they manage to translate efficiently to WbAssembly code (which is not yet the case currently). Kotlin is born from the JVM so it is not a perfect fit for WebAssembly today, but with WebAssembly GC coming, as well as other features and with the open mind of Kotlin team that adapts this language to native in Kotlin/Native, I think there is a way. I know Jetbrains/Kotlin team has not always a deep frontend culture (most dislike JavaScript), but think about IDEA on the long term. What is the plan to compete with VS Code? Desktop JVM is a dead platform, generating platform specific artifacts is just a pain to maintain and to use. It is maybe reassuring to continue joking about the amount of memory/CPU consumed by Electron/Slack/whatever, but the truth is that WebAssembly makes it possible to build an IDE with the power of IDEA that run in the browser (see what the AutoCAD team has done https://twitter.com/autocad/status/993963826914648064 and the post MVP roadmap https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/) and that could be easily packaged as desktop application. I know we are not here yet, but to me that makes no doubts that the future of IDE and complex applications like that is using WebAssembly to build and deploy them.
3