From full-blown IDEs to essential resource utilities, these Android apps bring powerful programming features to smartphones and tablets

When it comes to tablet apps, iPad vs. Android comparisons spark spirited debate. In the area of apps for developers, the Android tablet apps are more often free and less polished. On the other hand, there are plenty of Android tablet apps that will help developers in one way or another. While Android takes a lot of flack for “fragmentation,” in many ways it is now less fragmented than iOS from the viewpoint of a developer. It’s straightforward to create a single Android app that will work properly on a large range of devices, measured in operating system level, CPU power, available memory, and device size. On iOS, developers often find themselves writing separate iPhone and iPad apps in order to optimize both.

Algoid is, in Hollywood terms, Logo meets Android -- complete with Turtle graphics. Don’t be put off by the fractured English of the write-up in the Play store: Algoid is a for-real IDE with an interpreter, debugger, and scope explorer, as well as an editor with autocompletion and syntax highlighting. Algoid is primarily for educational use, but it isn’t restricted to kids, by any means. I can see it used in many educational programming settings, both formal and informal. The author has also released desktop Java and Raspberry Pi versions of Algoid, although I haven’t tested either of them.

DroidScript is a JavaScript-based app development environment that also lets you use your computer as a remote IDE over Wi-Fi. DroidScript supports most device capabilities, including GPS, compass, camera, and accelerometer, along with both native and HTML5 controls. It can interact with services to send and receive SMS and email, and it can create home page shortcuts.

DroidScript currently includes about 25 demo programs. Some of them work for me; a few of them seem to perform fairly well.

The app includes some documentation. If nothing else, read the section on Layouts, so you aren’t completely lost.

Dalvik Explorer is a little utility that can tell you the characteristics of your Android device. It tells you what Java system properties, environment variables, java.nio.charset.Charsets, java.util.Locales, and java.util.TimeZones are available to your app on a specific device. Run this app on the device in question to find out.

Dalvik Explorer is also useful for debugging problems users in other territories are experiencing.

Developer Tools let an Android developer see which resource qualifiers are being used on his or her device and which system features are available, along with details about the display and its sizes. Developer Tools also has links to other useful utilities. At least, they were useful at one time, and some remain relevant (for example, Dalvik Explorer). However, others (say, Manifest Viewer) don’t work properly on the latest Android builds.

DrawExpress is a gesture-recognition diagramming application that lets you draw diagrams and flowcharts, including use case diagrams, sequence diagrams, class diagrams, state diagrams, ER diagrams, data flow diagrams, and network diagrams. Beyond UML and network diagrams, you can diagram business processes and mind maps, including flowcharts, organization charts, process flow diagrams, feature lists, decision trees, and visual notes. By “gesture recognition,” the DrawExpress people mean that the UI recognizes your sketched objects instead of making you pick from menus.

A free DrawExpress Lite version lets you decide whether DrawExpress is right for you before paying for the full version. If it could import and export Visio objects and diagrams, it would be even more useful. I recommend employing a stylus with this app.

DroidDiaprime allows you to draw flow charts, org charts, Venn diagrams, mind maps, and other diagrams. The user interface is based on picking objects from a gallery and dragging them into place. You can create a new object by long-pressing on a blank screen area, and you can select an existing object by long-pressing on the object. DroidDia supports using JPEG and PNG bitmaps as the basis for objects in addition to using simple geometric shapes, and lets you create custom image libraries. You can download a library of Cisco components in PNG form from the DroidDia website; they’re converted from Cisco’s EPS files.

Frink is a practical calculating tool and programming language designed to simplify physical calculations by tracking units of measurement through all calculations and by allowing you to mix units of measurement transparently. Frink contains a large data file of physical quantities, freeing you from looking them up. The free Android Frink app is a full port of Frink with added support for Android-specific functionality, such as drawing graphics (see slide), using sensors, reading the GPS, doing text-to-speech, and doing speech recognition. You can also run Frink on your computer as long as you have Java installed and you allow self-signed Java to run. You can use Frink as a simple units converter or a full-blown programming environment.

TeamViewer for Remote Control, one of a family of TeamViewer apps, allows you to use your Windows, Mac, or Linux computer remotely from your Android device, as long as you have TeamViewer installed on the computer and know the computer's TeamViewer ID and password. In addition, the TeamViewer app allows bidirectional file transfer, simulates special keys and key combinations needed on the remote computer, and gets through firewalls as long as the remote computer is active and connected.

TeamViewer is free for personal use, but requires an active TeamViewer account and license to run in a commercial environment.

Wifi Analyzer can give you a quick look at the Wi-Fi networks currently active near your location, as well as show you their channel assignment and strength. It can sometimes help optimize your channel assignment to avoid congested channels, although some wireless access points have to use certain channels for their high-speed modes.

There are dozens of apps like this in the Play store. This one has been around for a long time. It’s free, and it has ads that don’t usually get in the way of its operation. I continue to keep it installed on my phone and my Android tablet, so I’ll have it when I need it, although I only need it once every few months.

It seems like a programmer’s calculator is every programmer's first attempt at an Android app. This one, a simulation of an HP 16c RPN calculator, actually started life as a Windows application. It has since been ported to the Web, Mac OS X, and Linux, as well as to Android.

This application is also available as open source. There are similar-looking apps in the Play Store, but I can't say offhand whether they were developed independently or based on the source for this app.