Deploying Java Desktop and Mobile Applications using JavaScript VMs

Are you going?

11 people going


Every last Thursday of the month

Location image of event venue


A couple of years ago, I started making a client-side app that I wanted to run on as many different platforms as possible. I quickly found myself completely confused. As a Java programmer, I had spent so much time working on server code and web-based apps that I never had to learn about the world of EXEs, installers, and app stores. Even worse, I found that Java's promise of "write once, run anywhere" hadn't been true for at least a decade. How could I get my app to run on PCs, Macs, Android, iOS, and online without needing to write five different versions of the user interface? Eventually, I found a solution. All of those platforms had web browsers, meaning they could all run JavaScript. I could write my app in Java with a single codebase, compile the app to JavaScript using the GWT compiler, and deploy it to all those platforms to run on their JavaScript VMs. Soon though, I found myself lost in the JavaScript wilds of Electron, Cordova, and WKWebViews. During this talk, I will describe the rationale for writing apps in Java but compiling them to JavaScript, survey the landscape of JavaScript platforms, and give an overview of some of the hoops that one needs to jump through to make desktop and mobile apps today.

Ming-Yee Iu has a PhD in computer science from EPFL. For the past while, he has been developing a new type of vector graphics app.