Mobile phones are basically just mini portable computers these days. The best devices on the market can give you many of the features you can get with a regular laptop. Programming with a smartphone is therefore very possible. All a developer needs to know is the right tools to get.
Unfortunately, information on how to use a phone as an environment for developing applications and websites is somewhat hard to find. Unless you’re very specific, searching the internet will often lead you to a page about how to code and debug apps that run on mobile phones.
That is why we decided to dig deep and uncover what you’ll need to turn your phone into a desktop-like programming device.
1. A Text Editor
To develop on your smartphone, the first thing you’ll need is a source-code editor. Essentially, an editor will allow you to create and edit text files written in various programming languages. In other words, this is where you write your code.
Similar to a desktop editor, your Android tool should be easy to navigate, customizable by modifying font size, color schemes, etc., and offer simple cut, copy and paste features. The abilities to handle UTF-8 encoded text and highlight syntax are also elements you may want in your editor.
The Play Store is well-populated with text editors, but if you’re new to programming on your phone, go for the most popular app you can get, preferably for free. If you’re familiar with Vim Touch for PC, an Android version exists, and its handy features are well laid out to make touchscreen editing a lot more bearable.
I would also recommend a more code-writing oriented keyboard than the one that ships with your device. One of the best is Hacker’s Keyboard, which makes special characters like brackets or colons easier to type by laying them out as they typically appear on a computer keyboard.
2. A File Manager
If you ask an Android enthusiast why they prefer the platform to iOS, they’ll likely say it’s because Android comes with a file manager application that offers the ability to create folders and move files around. However, these apps are usually very limited for a programmer, primarily because they don’t show all the data on your phone.
Because every program you write or app you build will be represented as a file in your Android device, you’ll need an explorer that gives the flexibility to find and manipulate files as you please. I recommend OI File Manager, a free, open-source replacement for Android’s file explorer, which will let you copy, move, rename and share files easily.
3. A View-Source Handler
If you’re developing a web-based application, a View Source handler is a necessity. What it does is let you open your source code by typing the URL address on a browser.
View Source Mobile is available as an add-on for browsers like Opera Mobile, Dolphin, and Firefox. Alternatively, you could get an app called VT View Source, a stand-alone browser that offers the same capabilities as the add-on, along with a few extra features specific to developers.
4. A Web Server for Testing Web Applications
Developers of websites and web-based applications need web servers to store files which can be accessed by the target user via the internet. When someone visits your site or uses your app online, their browser communicates with your web server and exchanges information to determine what will be shown on the visitor’s screen. Popular online website hosts such as HostGator and Godaddy provide cheap servers for hosting online applications.
Local web servers for testing and staging purposes can also be easily built with XAMPP and WAMP which are among the most popular web server packages for PC, but you can also get the same features on Android. The best app for the job is Palapa Web Server, which gives you MySQL, PHP and Lighttpd all pre-configured into a single, free stack-package, although beware trying to run a local server on a more budget Android device that may not have the specs to handle it. Palapa even lets you edit the server config files directly in the app itself.
Although the above are the core tools you’ll need to do web development on your Android device; there are other apps you can get to expand your exploits, especially if you’ve rooted your device.
For instance, if you’re going to be an active smartphone programmer, you may want to be able to manually grant and revoke permissions to apps that can access root privileges. For that purpose, SuperSU is an excellent tool for controlling a rooted smartphone.
Moreover, your Android smartphone isn’t really a computer without a command line. And while Android Terminal Emulator offers some utilities on its own, install BusyBox Free, which will add more GNU/Linux features to your Terminal Emulator.
Lastly, if privacy and security are a priority, Orbot and ChatSecure are among the apps you wouldn’t want to miss. Orbot is basically Tor for Android, while ChatSecure offers an encrypted channel for off-the-record (OTR) chatting.
So that’s a start on how to get your Android smartphone ready for coding. Tell us your own favorite tools for programming your smartphone in the comments… And be sure to subscribe to get more articles like this in your inbox!
For years I’ve been doing this and being called crazy. My recommendations for this are: Terminal IDE and/or any Debian chroot
I use ArduinoDroid android IDE because im only changing numbers around to controller a program and lightbox I made. Your method is completely different so cheers! That’s something I’m going to have to look more into.
It’s a pain not for full development of a program to small and the keypad no thanks
Too small for me
Need some more tips.
Hi .. ( i’m suck in programming. . )
But Just to see. This Android version in
France Play Store. . Doesn’t exist.. at least the link in the post
Wow its for real now.
I haven’t knew about it before.
Thanks for sharing everything in detail to do programming via android smartphone.
I want to know more about these tools.
I have recently upgraded to Galaxy S9+ from Galaxy Note 3, I backed up all my data and applications on Note 3 and restored them on my S9+. Everything worked cool except 1 application which I can neither restore from my old Note 3 on S9+ nor is it available any more on the google play store. I tried to make an APK of the app on the old phone and transferred it to S9+ but when i install it says this app is designed for an older version of Android and may not work properly on the latest phone.
Could somebody help me out how can I do this? If someone can tweek the old version to enable it for the new andriod please comment I will provide the APK of the application.
very nice article .thanks for sharing
If I am correct very soon developers would prefer smartphones over laptop for coding purposes
Can you possibly help out a Novice like me in “software development”, “programming” and Coding?
I don’t mind Learning and Working simultaneously.
I appreciate your reply.
I really appreciated your information, its gonna help me alot
Thank you for taking the time to be kind by sharing your knowledge and experience. It literally gave chills. I am a rookie just starting out. I couldn’t explain the magic of the VT Viewer, the SuperSu of OTR, but I know for a fact that is was a special and inspiring.! I felt like a winner from the game called, The price is right. Thank you,!!!!
I have downloaded all the tools as listed in your post
Now whats the nextstep
where do i write my codes
How do i link it to my Android web saver to testrun my codes
Thanks alot for this write up.
Now I can start coding with my Android phone
Wow nice write-up can start with any Android phone? I need help please
is it possible to programming in react using this?
VIM Touch for Android appears to be gone from Google Play. Is there another editor you suggest to replace it?
Wow nice Post
really amazing post
I mean, I’ve used Turbo C++ by Borland over a decade ago but some schools in poor regions of third-world countries (won’t name) still use it by emulation or use of a modded app that lets kids experience C on budget phones, very cool!
I do agree with the point of teaching programming or *code* with what you have but C or even C++ should be really taught on bigger screens. I've recently had to install Turbo C++ on my Android due to a coding task I had but wow it's quite an experience to look at C source code from a tiny screen.