A few times lately I’ve been asked if we could have an Android or iPhone version of our custom Visual FoxPro application. Of course the quick answer is “No,” because there is not and never will be a mobile version of Visual FoxPro (though it probably runs on Windows CE, but ugh).
I’ve spent some time recently studying native Android development, which of course is all done with Java and uses the well-regarded open source IDE called Eclipse. I found it to be a much easier experience than I had working the the iPhone, as it’s Objective-C language and IDE, xCode, were just so different than what I was used to.
Once you commit to developing to a native platform however, you’re crossing the Rubicon. Apps developed for one platform cannot be recompiled for another. Furthermore Java (Android) is different than Silverlight (Windows Phone 7) which is different than Objective-C (iPhone/iPad) which is different still from HP’s WebOS, not to mention WPF for the new Windows apps, or FoxPro’s screens, etc. etc.
Some C# developers have gotten excited about the MonoDevelop/MonoDroid/MonoTouch projects, which allow you to write C# for different apps, but is that ideal?
And of course here comes HTML5 which looks like a powerhouse that could change web programming so much for the good.
Wouldn’t it be nice if there was a way to write user interface code once that could compile into each platform’s native code?
With some caveats, that appears to be what a couple of projects do for you: PhoneGap and Titanium.
I’m not going to rehash all their features here, you can check out the demos on their sites, but for us FoxPro developers the general idea to get FoxPro data onto iPhones, Androids, etc, would be to write the Presentation Tier in HTML5 and have that make calls to via web services calls to our Controllers (West Wind Web Connection, e.g.) which natively talk to our FoxPro database.
I committed to showing a bit of this at a Virtual Brown Bag webinar in a few weeks, so I guess I’ll be spending my spring break looking at some of this. Updates to follow…
Leave a Reply