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

Agenda

  1. An editor or IDE
  2. Source control
  3. Services
  4. Conclusion

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.

Source control

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)

Services

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.

Winner Android

Conclusion

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

Conclusion 2

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.