We keep hearing in the news and tech articles about iPad being the computer replacement. While this can be true for most of the people who use a computer for writing email, documents, doing communication and other day to day activities, things become difficult if we need more than that. But, with the recent advancements in iPadOS and Android, many professional tasks such as digital art, video editing, audio production and engineering, UI/UX design, photo editing have become possible and for some use cases, it has been a better solution than what a laptop/computer can ever offer. But what about coding? I being a technology nerd and a coder wanted to know how far can I go with just a tablet/phone.

To start with, these are the coding tools that I use the most.

  1. Python
  2. Visual Studio Code
  3. Jupyter Notebook

and some more niche tools that are not available for either of the platform. So, the question of replacing my laptop is straightaway ruled out. But what about a secondary device which we can use when our primary device is not available? I decided to dedicate my free time to check if I could do the following tasks

  1. Write code
  2. Compile Python
  3. Sync to drive

So, i am looking for the following tools

  1. Code Editor with at least syntax highlighting
  2. A Python IDE/Compiler
  3. A Terminal like environment
  4. Tools which might be available for other languages

I also didn’t want a paid app because i wasn’t dedicated to using my tablet as a coding device, although i did look at some options available if I were to do that. These are the tools I found.

iOS

Code Editor – Kodex

1.2.0-20H

Kodex is a surprisingly versatile code editor and works like we expect. It has syntax highlighting for many languages, different themes, works with files and folders, automatic indentation and even has code completion for some languages. It is also clean and minimal

Python IDE – Carnets

While there is a great paid python IDE called Pythonista, I had a hard time finding a decent python environment until I found Carnets. Carnets is amazing, it is complete jupyter notebook environment in our iPhone or iPad, we can do everything we do in Jupyter including installing packages from pip – provided that they are pure python packages. This means that we cannot install libraries like OpenCV, Pytorch or Tensorflow but it is still great that many libraries are now accessible. In fact, libraries like numpy, pandas, sklearn and matplotlib are preinstalled. However, if we want to do anything neural network, we are out of luck – Fortunately, we can do it in colab, provided we have active internet connection.

Terminal Emulator – A-shell

I wanted some sort of command line environment to work with in case I needed it for some reason. I found  A-shell, a terminal emulator app which is developed by the same developer. A-shell allows many UNIX commands to be run locally like scp, grep,curl. It also comes with vim editor for editing files if needed. It also has a built in C, C++ compiler, Javascript and Python Interpreter and also has Lua and Tex support. It can also interact with the file system.

Other tools

I also came across Scriptable – Javascript Enivronment, Jayson – JSON Editor, Dcoder – Online Compiler and IDE, and REPL – Online IDE (Web Based). For any other python needs, Colab is accessible in the browser.

Android

Android offers more flexibility than iOS when it comes to filesystem and system files, and hence there are many coding apps available for android.

Code Editor – Acode

Acode is an open source code editor for android with support to multiple languages, syntax highlighting, automatic indentation and all other stuff we expect from a code editor. The ability to change editor’s theme is locked behind a paywall, however we can edit the part that matters the most – coding environment. However, there is an option to compile from source if we need that feature.

Python IDE – Pydroid

I’ve been using pydroid for some small tasks for a long time and it works great. We can install almost all the libraries if its pure python. We can also install Jupyter notebook if needed but it isn’t as smooth as Carnets. For more powerful tasks, I’d stick to colab.

Terminal Emulator – Termux

CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90

Termux is an open source terminal emulator which is very powerful. Not only can we do regular UNIX commands with it, we can install a whole linux distro inside it (Provided that we have space). This allows installing tools such as R which is not available in Android. We can also install many other language compilers.

Other tools

Other useful tools available are Spck – Javascript IDE, CppDroid/CxxDroid – C/C++ IDE, DCoder – Online Compiler, REPL – Online Compiler (Web Based) and there are many more tools for other languages. Again, Colab is accessible via Browser.

So, is iOS/Android capable of replacing laptop for coding? The answer is a 100% no as of now. However, it can totally be handy as a secondary device. Maybe in another 5 years, mobile operating systems can come near desktop operating systems when it comes to coding, or better – even outclass them.

Bitnami