Native, Web, or hybrid: How to choose your mobile development path

With new tools and frameworks and the right development kit, you can make sure your mobile apps reach multiple platforms

Page 3 of 4

Xpous' $9.99 iGenApps offers a code-free approach to building Web apps for both Android and iOS. Aimed at small businesses with simpler app complexity requirements and a limited budget, iGenApps enables businesses to construct Web-based apps right on a mobile device. The app, hosted on Xpous' servers, is distributed via an HTML link in email. Recipients simply click to add the link as a home page icon.

The most powerful refinement to Web app development uses a WebKit browser shell that displays the app's user interface full screen with no navigation or status bars. The WebKit shell is, in fact, a native application, so it typically has access to low-level device features, such as geolocation. Even a minimal WebKit shell, when combined with a Web programming language such as PHP or Ruby on the server side, and HTML5, CSS, and JavaScript on the client, can deliver an impressive simulation of a springy native app with all the usual knobs and dials. But this is just a simulation, which works for basic apps but not those requiring complex graphics or processor-intensive computation.

Adobe's free PhoneGap exemplifies the WebKit strategy, letting you code your app once on the server side, then deliver to multiple mobile OS targets quickly and easily. PhoneGap augments the basic shell with plug-ins that emulate various native interface widgets, giving users even more of a native user experience.

Mobile app-dev golden path No. 3: Hybrid app development

WebKit paved the way for the third approach to mobile apps: hybrid development. The hybrid model replaces the simple WebKit shell with a more sophisticated, natively coded container, which runs as a native app unique to each target OS. The container vendor maintains the container code, thus incurring the high costs of native code development. That cost, however, is spread among the many customers of a particular hybrid platform, who implement their apps as JavaScript code that is either bundled with the container at installation time or can be downloaded later.

Rather than delivering an identical Web-ish interface on all device types, as pure Web apps do, hybrid apps can provide a different user experience for each mobile OS: Android idioms on a Kindle Fire, iOS behavior on an iPad, Metro accoutrements for a Windows phone.

Appcelerator's Titanium is one of the earliest, and still popular, platforms of the third kind. The latest product kit includes a cross-platform SDK with thousands of device-specific APIs, the Eclipse-based Titanium Studio IDE with built-in device simulators, and the option to host apps on Appcelerator's cloud servers. The SDK and IDE are free, while hosting and various levels of support are fee-based services.

Taking hybrid development even further is Sencha's Complete Team array of mobile development tools, which includes the Sencha Touch 2 JavaScript framework and Sencha Architect, a drag-and-drop GUI builder. is a beta edition of cloud-based data, messaging, and deployment services that let a business deploy an app without any of its own public-facing infrastructure.

For cloud-based mobile app development with no coding required, you might consider MobileFrame, which provides pre-built app templates you customize via a Web-based GUI designer, then deploy as either native or hybrid apps. Intended for enterprise-class app deployment, MobileFrame includes version and source control, database connectors, and an integrated test environment with device simulators. The platform features built-in MDM (mobile device management) capabilities, making it an attractive adjunct to BYOD.

| 1 2 3 4 Page 3