Mobile app development approaches have
stratified into three variations:
Pure native apps deliver the best device
fidelity and user experience, but require significant time and skill to
It is the most expensive
Each mobile platform vendor
offers completely different programming environments
each has a unique UI style
IDE employs the proprietary Objective-C language for iOS devices
Google's Android coders
generally use the open source Eclipse IDE combined with Android's native
Android Development Tools (ADT) Java programming plug-in
Microsoft offers Visual Studio
Express for Windows Mobile and its Windows Phone SDK, aimed at WP7 devices, in
which programmers code in the also-proprietary C#/.Net idiom.
But for apps that will have a
long lifetime or require best-of-breed performance,
Pure Web apps -- including those using WebKit shells to masquerade as native apps -- are quick to
deploy but have significant limitations.
customized website tailored to
have the look and feel of an app.
Entire app lives on the Web
In iOS devices, you can even
create an app icon using the Add to Home Screen feature in Safari, giving users
more of the illusion of a native app.
Web-based apps rely on
Web-based apps can look and
feel very close to native apps, if you discount performance.
But because users access the
app through their onboard Web browser, a network connection is required for
most functions, and users will feel network delays.
HTML5 includes the ability to
access local storage, but the memory capacity on most mobile devices is usually
a few hundred megabytes, which limits what you can do in a Web app sans
possibly a server-side language such as Java, PHP, Ruby or ASP.NET.
latest approach, hybrid app development, combines prebuilt native containers
with on-the-fly Web coding to try to achieve the best of both worlds.
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
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
Appcelerator's Titanium is one of the earliest, and still popular, platforms of
the third kind
framework and Sencha Architect, a drag-and-drop GUI builder. Sencha.io 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.
A good example is Google's
J2ObjC Java-to-Objective C translator
CodeName One is a similar tool, but rather than translating Java to
Objective C, it lets developers code almost entirely in Java, including UI
Salesforce Touch is a mobile
development platform that provides enterprise developers the same app engine
Salesforce uses for its own enterprise mobile apps.
CoralTree Systems' Renaissance is an example of a development platform aimed
at a specific enterprise IT environment, the IBM i.
An open source product, Renaissance provides specific hooks for IBM security
APIs and the RPG programming language.
Pure Pattern - So-called “pure”
hybrid apps consist of a single webview that occupies
the entire screen. All the content and navigation controls are implemented in
HTML5, and a thin native wrapper is used to expose native APIs (like Address
Book access) to the HTML5 code. PhoneGap (Cordova)
apps use this model.
Blended Pattern - Blended apps
use native components for the main navigation UI (such as the tab bar) but web
views for the formatted content
Mullet Pattern - These apps are
fully native for early parts of a user flow, such as product browsing, and web
based for later areas like checkout. This is a very common pattern for mobile
commerce apps where APIs supporting native screens typically exist for product
data but not for the hard to integrate features like checkout and payments. The
Belk and Walmart apps for iOS both use this pattern.
Fallback Pattern - In this
pattern, the app is mostly native but uses hybrid web views as a fallback for
little used or frequently changing content. Facebook’s current app falls under
API Pattern - Not all hybrid
apps simply render HTML from a server. API driven hybrid apps get their data
from the server in JSON or XML and instantiate that data into HTML within the
Cordova) is a free and open source framework that allows you to createmobile apps using standardized web APIs.
Trigger.io is a mobile
device functionality and UI components with a cloud based build environment.
is an application development platform that extends PhoneGap
Cordova) with additional
development tools and server support for backend integration,
authentication, push notifications,
and life cycle management. Stackoverflow has a useful
guide to understanding the differences between PhoneGap
Sencha Space is a platform for
securely distributing HTML5 and hybrid business applications in a managed
enterprise environment. Space is an interesting alternative to the traditional mobileapp-management model and offers business control of
their data without commandeering an employee’s phone.