Niels Segers

Full Stack Developer at

Programming on an iPad

I recently purchased a brand new iPad Pro for more ease of use daily internet browsing and media entertainment. Even though I knew in advance that it wouldn't be able to fully replace my Macbook Pro as a remote working station, I still felt like I had to try to get the max out of it.

First things first, a remote working station that I can carry on the go needs a decent way of SSHing into my machines at home or anywhere else. In comes Termius, a fancy looking SSH app which works wonders on an iPad. In combination with a VPN I'm now able to connect to my machines on the fly.

Next up is the programming experiment. Recently I came across code-server which let's you host Visual Studio Code on a server so you can access it in a browser. Luckily I purchased a fancy new Odroid H2 a couple of months ago which is ideal to host this baby on. Setting up was super easy as they have a Docker image ready to go. I dedicated a nice volume on the server to my VSCode projects and in a matter of minutes I had it set up and was able to access it through my iPad Pro's browser.

You're not really coding on your iPad directly but rather running everything on the server it's being hosted on. The projects themselves are on your server (remember the Docker volume) so everything is basically remote accessed through your iPad but nothing is directly on your iPad.

Ofcourse it will never beat my Macbook Pro in performance but it gives me a way of coding on the go by just carrying around my iPad.

EDIT: My foundings after playing around with this setup for a while:

  • Termius seems to close the connection rather fast (which might have to do with the aggressive app closing in iPadOS13) causing you to use screen to keep your processes running in the background while developing.
  • VSCode (code-server) seems to work ok on first sight but after a while of alt tabbing back and forth you are no longer able to type. It requires you to open another file and going back to the original file to fix this. Also for some reason cmd+x doesn't seem to work when trying to delete complete lines.

This confirms my initial thought when starting this experiment. Yes it enables you to quickly code using your laptop from a remote location without having to carry your laptop everywhere. But no, it will not replace my Macbook Pro as an every day device to program on. The constant requirement to restart connections and switch files gets rather annoying after a while. I don't see myself coding for hours straight with this setup.

I will probably still use it from time to time when I'm on a holiday or something. A situation where I'm not bringing my laptop along with me.

Written by Niels Segers