Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Coding in a Post-PC World, Part 2

November 22, 2011

The second app I use that works with TextExpander for the iPad is Textastic. Textastic is, in a word, fantastic. In addition to being syntax-aware of all the popular languages, TextMate bundles can be imported into Textastic, effectively elevating Textastic to a reduced, though compatible, version of TextMate for the iPad. Combine the TextMate bundle-aware features of Textastic with the text-expanding features of TextExpander, and you pretty much have everything you need for rapid code editing on iOS. Yes, it is hassle to have to set up two separate applications with their own defined libraries to emulate what TextMate offers in a single application, but hey, it works and it's the only thing that comes close to a fully featured text editor with template expansion on the iPad today.

Version Control

A key annoyance that continues to frustrate me to no end on either Android or iOS is the lack of a native Git client. Sure, there are viewers for services like Github, but I have yet to discover an app that features full Git-compliance. I'd love to see something like fournova's Tower on the iPad, as it's the best GUI-based Git client I have used to date on any Git-supported platform.

Whether it's due to the considerable reliance on a Perl runtime or the typical SSH overhead associated with secure push and pulls, it baffles me why a good Git client has yet to emerge. And while I'm not a big Mercurial user, I do like the fact that there is a Pythonic alternative to Git in case the need arises. But like Git, no native Mercurial client exists for either platform; this may be due to its reliance on the Python runtime libraries that Mercurial uses to make its magic.

To make a long story short, when I need to check in my work to my Git repos, I save the edited files to a repository location running a full shell with Git already configured, and SSH into it using ConnectBot on Android or iSSH on iOS. It's disjointed and inelegant, but it's the only other consistently working option I know of at the moment. Hopefully some determined developer is already hard at work on solving this annoying conundrum.

At least on iOS, Subversion client support is more plentiful. This may be due in part to the fact that until Apple's Xcode 4 came along, Subversion was the only VCS that was integrated into the product. Since then, Apple has promoted Git as the VCS of choice in its IDE, so that change should inspire iOS developers to demand Git on their iOS devices. But until that day arrives, I have kludged together a Subversion to Git bridge on my repository host that works for now. My current favorite SVN client on iOS is Hectic Ant's Code Viewer 2.

Tune in Again, Same Net-Time, Same Net-Channel

Next week, I will talk about the cloud services I have configured and the software and workflows I use to keep the code flowing. Until then, keep those cards and letters coming.

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.