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.
- Visual Studio Code
- 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
- Write code
- Compile Python
- Sync to drive
So, i am looking for the following tools
- Code Editor with at least syntax highlighting
- A Python IDE/Compiler
- A Terminal like environment
- 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.
Code Editor – Kodex
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
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
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.
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.