We all know that apps are incredibly popular right now. Mobile web use is becoming the norm and companies are scrambling to get set up with a mobile app to market their brand or sell their products. There are a couple of routes in to the mobile market: web apps and native apps. Let’s consider them both.
Native apps are the ones that most of us are familiar with – you buy them from the iPhone app store, or the Android marketplace. They are built specifically to run on your mobile operating system and provide the best possible user experience and interaction with other phone features (camera, calendar etc).
Native apps also require specialist knowledge to create and publish, and very often have to be rebuilt from the ground-up for different platforms: so once for iOS, separately for Android and again for Blackberry.
Mobile web apps are essentially web sites, formatted to fit the size of a mobile screen. They run in the mobile’s default web browser. They can perform all of the normal functions of a website and to a certain extent, require less specialist knowledge to create. They can usually be built much more quickly than native apps and publishing is instant, since there is no app store approval process. They also work cross-platform, so a web app can be built to work on iPhone, Android, Blackberry and Windows Phone.
The obvious drawback to mobile web apps is that they are not persistent. They don’t stay on the device, unlike native apps, and need to be loaded up from the internet each time they run. They don’t store data on the device and can’t access the device’s core functions (the phone, address book, photos etc). Effectively they are and must be completely self-contained.
However as a quick way of delivering a powerful app to a mobile device this is still a perfect solution for many people. Mobile web apps can also be made to “feel” more native. Adding the web app to the home screen of the device, gives it a shortcut icon, just like any native app. Advanced technology, like jQuery mobile can add in the neat visual effects that you come to expect from a native app, and with some clever coding, the address bar and navigation buttons can be hidden – again giving the feeling of a native app. To many users the differences become imperceptible.
Can we meet in the middle?
There exist cross-platform solutions, to build an app once and launch native versions for multiple platforms. PhoneGap, for instance, lets you build a web-app and have it converted to native for iOS, Android and Blackberry – even including tools to access the phone’s other features, such as the camera.
Titanium Appcelerator let’s you code native apps for iOS, Android, Blackberry and Windows Phone, using a single language and development environment - getting direct access to native elements and features.
There are downsides to these tools though and many argue that you end up building to the lowest common denominator – releasing an imperfect app on all platforms, rather than focusing on a perfect app for one or two.
To be honest, I can’t recommend one solution over any other. There are many factors that should come in to your choice: including timescales, budget, aspirations, feature requirements and target user base. Like with most business decisions – one must weigh up the pros and cons of each solution and choose the most appropriate to your needs.