Writing Code On The iPad
by Frank McPherson Saturday, August 5, 2017

I’ve been noodling over how to write Nodejs code on my iPad Pro. To make it work I need two main parts, an editor and the ability to run node. I haven’t found a way to run node on the iPad, so I need an intermediary, which can be a Linux server.

For now I am using the remaining Ubuntu server I have running on CloudAtCost and I am accessing it via SSH using Termius. Termius works good enough, but I am finding a quirk in which text at the very bottom of the screen doesn’t scroll up automatically. I can clear the screen and then slide up using my finger, but this is inconvenient.

While I could just use vim or nano to write code, I rather use an app on the iPad, which means I need a way to get what I write from the iPad to the server. GitHub is the logical choice as it provides a repository that I can then clone to any other server, which is important because the server at CloudAtCost is not reliable.

Working Copy is a highly rated Git app for the iPad, so I went and bought a copy of it, but I still needed an editor. After a little research I bought Buffer, which I found has built-in support for Github so it turns out I might not have needed to buy Working Copy. Buffer in fact handles commit and push in the background, all you do is Save any changes that I make.

So, I have ended up with a workflow where I can write and edit code in Buffer, save it to my repository on Github, toggle over to Termius, login to my Ubuntu server, do a git pull to update the cloned copy of the repository and then execute and test the code.

The workflow requires an Internet connection in order to run and test what I write, but that is a pretty negligible issue that I can manage. I think an ideal solution would be a container that I could run on the iPad, but which had a full access to Linux command line tools.