Coding using Tablets and Phones
Why? As in, why would you want to write code on a phone or a tablet? Well, let’s not answer that question. Let’s just assume that you want to.
And, just to be clear, I am not talking about developing apps for mobile devices. This is a guide about using mobile devices to develop software. And to be even clearer, let me lay out some definitions for the sake of this guide:
What can’t you do and what does this guide not cover:
- You want to use your favourite IDE and will not compromise. Then buy a good laptop - it will be cheaper than what I will be suggesting anyway.
- Developing simple Web pages, then you can probably get work done with an iPad only.
What you might be able to do if you follow this guide:
- Set up a set of typical Linux services and tools to
- An editor or IDE
- Source control
An Editor or IDE
Android based code editors suck. There are really no decent code editors yet (early 2017). This is probably because nobody has created a suitable open source highlighting text editor that doesn’t suck.
The situation is a little better on iOS.
Which means, that you can choose to use an Android phone or tablet to edit code, but your experience and productivity will suffer.
Winner = iOS. Real winner iPad.
There are okay Git UIs for iOS devices. But the way you need to jump through hoops to get a decent workflow going on iOS makes the whole process a little painful.
There are some interesting ways of extending Android so that you can run a full Git client (and probably any Linux based source control you may want to use). Add to this the ability to link the iOS IDE directly to this source repo on Android and you have a recipe for success.
Winner = Android (for reasons that will become obvious later)
We’re talking Apache, MySQL, Redis, PHP, GoLang, Python, Perl, sshd, etc. Feel like trying to install these on iOS? Didn’t think so. Let’s use Termux on Android.
Dump the iPhone and grab a decent Android phone. Install Termux and install sshd and whatever else you need. What is nice about this is you can then script it to start all the services when Termux starts and everything dies when Termux ends. simple and easy.
Then grab a decent iPad and buy a decent IDE like Panic’s Coda.
Then network them together:
Both on the same wifi - get the IP of the Android phone and link Coda via ssh
Android hotspot - link the iPad
iPad tethering - link the Android phone
Good grief, why?! Yes, this will work, but really, if you can afford an iPad then you can afford a cheap laptop. This whole thing is crazy talk. A fun mental exercise, but with no real value except for those of us with something to prove.