As a part of iPadOS 13, Safari is growing up too: Apple says it’s now a ‘desktop-class’ browser, without really elaborating about what that means. Oh, and they added mouse support — seriously.

Believe it or not, that change means you can build web apps using the iPad Pro, despite the lack of a real IDE or environment, and it’s actually not that bad. Behold, Visual Studio Code ‘running’ on the iPad, and it’s about as good as the real deal:

You’re probably wondering how this witchcraft is even possible — and it’s something of an elaborate, but surprisingly functional trick: Visual Studio Code is running on a Google Cloud server, thanks to an open source project called Coder.

This works because Visual Studio Code is web-based in the first place, and the Google Cloud component simply hosts the ‘app’ in the cloud, but caches its assets on your device.

In other words, it’s blazing fast, and the only bit running elsewhere is the terminal and file sync. For those on LTE iPads, this is perfect — you’re always connected anyway, and now you’re backed by a powerful cloud server. Also, it’s goddamn magical to be able to code on a device like this, and I so dearly hope that Visual Studio Code will officially make it to the iPad in the near future.

But for now, here’s how to set it up for yourself. This has the caveat that it only works entirely on iOS 13, which is in beta right now, and you may have limited success on older versions.

Grab a server and a coffee

Spin up a server somewhere so you can host your instance of Coder. I recommend DigitalOcean, which has predictable pricing (and clicking my link will give you $50 of credit to try it), and a bunch of great pre-made images.

Choose a location that’s in the country you usually live in, then use the Ubuntu 18.04 LTS image — it’ll save time later. Coder is a little heavy right now on resources (they say it’ll be fixed in an update soon), so you should choose a box with at least 2 CPUs and 6–8GB of RAM.

Once the server is set up, SSH into it using an actual computer, and download the Coder bits (change the URL to the latest from here) to your home directory:

wget https://github.com/cdr/code-server/releases/download/1.1119-vsc1.33.1/code-server1.1119-vsc1.33.1-linux-x64.tar.gz

Once you’ve got that bundle, unzip it with `tar -xvf ./code-server1.1119-vsc1.33.1-linux-x64.tar.gz coder`and change into the directory by typing `cd coder`.

From there, make it executable by running `chmod +x ./coder` and there’s one last step to allow it through the firewall. Type `sudo ufw allow 80/tcp`to whitelist the port we’ll use to start Coder.

Now it’s magic-making time! Start your server by running `./coder -p 80 --allow-http` and wait a few seconds for it to start up, then make a note of the password it spits out to secure your coding environment. (You should go back and secure this later, but for now it’s faster to get started this way).

Back on your iPad, type the IP address of your server into the browser with http in front, and if everything went swimmingly, you should see a screen asking for a password. Slap it in, and you’re away: