(See my June 2010 article in IEEE Spectrum, Cross-Platform Smartphone Apps Still Difficult.)
Fortunately, and not surprisingly, there are a number of platforms and other offerings aimed at "develop once, run 'manywhere'/anywhere," including Rhodes from Rhomobile (pronounced "roam-able" rather than rhyming with Batmobile).
According to Rhomobile, "Rhodes is an open source framework to rapidly build native apps for all major smartphone operating systems (iPhone, Windows Mobile, RIM, Symbian and Android). These are true native device applications (NOT mobile web apps) which work with synchronized local data and take advantage of device capabilities such as GPS, PIM contacts and camera."
Given the on-going kerfluffles about iPhone/iPad apps, I asked Rhomobile to confirm that apps using Rhodes still work on these platforms; here's their response:
"Rhodes does support iPhone (and iPad) and Rhodes-based apps have always been accepted and are continually available at the App Store.
"A couple examples are INNKU's 2Know, which integrates geosocial networks (including Foursquare) into one application. And for a more enterprise-specific application, please see RhoLogic for SugarCRM, which works against changing underlying metadata, allowing it to be fully integrated into business' existing Sugar CRM applications."
Version 2.0, released earlier this summer, added some interesting features, including:
- Native mapping that "extends the benefits of the iPhone's powerful native mapping capabilities (annotated pushpins that link to external URLs and the ability to zoom arbitrarily) to other devices such as Android and BlackBerry smartphones that otherwise wouldn't have such capabilities. The native map view is easy to implement and can be displayed with one call to the Rhodes MapView object."
- Providing a "metadata framework" allowing "mobile apps to communicate with backend enterprise systems that have changing schemas. Developers can change a field or attribute in the back-end enterprise application and the change is reflected immediately on the application running on the device. For example, developers can write a CRM app with Rhodes that handles the backend CRM app adding a field such as "mobile phone number" to the definition of a CRM contact. Resyncing from the app would show customer information with the new field."
With the new 2.1 release of Rhodes, Rhomobile has added more goodies of interest to mobile developers and users, including two features that should be of interest for field service and industrial apps:
- barcode recognition for all popular linear barcodes and QR 2D barcodes direct from the camera on the device
- signature capture.
Other enhancements in 2.1 include a version of jQTouch, "jQuery plugin with native animations, automatic navigation, and themes for mobile WebKit browsers like iPhone, G1, and Pre," according to code.google.com. jQTouch combined with CSS stylesheets optimized for each smartphone, says Rhomobile, "provides developers with an easy way to implement sleek GUI's, animated transitions and themes in a mobile app."
The Rhodes framework 2.1 is available now, and is free under the MIT License.
Some applications may be better or require working with devices' own software development kit and environment, but for developers looking for the widest possible market -- and companies looking to not limit or restrict employee or customer choices of mobile devices -- multi-platform development environments like Rhodes make good sense.