Coding in a Post-PC World, Part 2
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.
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.