Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Coding in a Post-PC World, Part 2

November 22, 2011

Welcome to my second installment on writing code in a post-PC environment. In Part 1, I talked about my hardware of choice. This post discusses the software I use on both Android and iOS devices to achieve my programming objectives.

Text Editing

Emacs or Vi? I'm a Vim fan myself, though when on a Mac, it's TextMate all the way (and yes, like other TextMate fans, I am eagerly awaiting the Lion-compliant Textmate 2.0 alpha release promised by the end of this year). However, due to the limited expression of the onscreen keyboards for both Android and iOS, the Shift/Control/Option/Special key combos don't work too well, if at all. As such, these keyboard combos take a back seat to the primary task of command-driven text editing.

For the Android platform, my current favorite is TextWarrior. The app, while not quite fully baked and buggy, is free. As such, the price is right and you get what you pay for. But it's also open source, and the developers enthusiastically embrace Android's open source approach by inviting other developers to contribute to the project.

The situation improves dramatically on the iOS side. One of the features I really like about TextMate is its ability to create a whole custom set of templates for a particular need such as a new language or web framework. TextMate calls these collections bundles, and they're very easy to create once you get the hang of TextMate's simple template constructs. To instantiate a template, simply type the key word(s) associated with one and the text block will fully expand, placing the cursor in the desired location. If there are multiple parameters to edit in the template, you can configure the template to jump from each via tab key presses.

I have recreated TextMate's template expanding feature via two apps for the iPad. The first is Smile on my Mac's TextExpander. This app works just like the version that has been available for years on the Mac, and just like the TextMate ability to type a keyword and have it expand to a full text or code block, TextExpander works almost in the same way. Unfortunately, because the iOS on-screen keyboard lacks a tab key, tabbing from designated fields in a template is not an option on the TextExpander iOS version. Bummer. Still, it sure beats typing out blocks of code, especially when confined to using the on-screen keyboard.

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video