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!