iPhone native app or web app?
With the kind of apps that are coming out, we are all wondering – the desktop computer is moving towards web apps at a rapid pace, then why is the iPhone (and other platforms) looking to build hundreds of thousands of apps that are totally dependent on the underlying platform?
All the more, with more than 50,000 apps on the Apple Appstore, how many can you really have on your phone? And then how are you going to organize them all if you are really interested in having some 200 apps on your phone?
And if the above is the case, why are we not seeing more apps that are browser based for the mobile phone?
Well, there are certain reasons for this. And some of them are the exact same as why apps were built for the desktop in the first place.
Like the desktop in its early and mid ages, many of the apps need to use functionality of the hardware that is not available in the browser. The accelerometer, the compass, voice control etc. And these are unlikely to be available in the browser in the near future. Yeah, you could develop plug ins, but again, that has its own limitations (mostly security) and the OS owners would need to open up the browser to accept these plugins. Apple has not yet opened up the iPhone to the flash player.
Then there is this speed limitation. Code native to the platform will run faster than code inside a browser. After all, our phones are still stingy on processor speed and memory.
Biggest of all, again something that applies to the desktop world as well, running apps inside a browser that use more than the already provided privileges run a grave security risk. Apps that are installed by you are trusted by you and you give them explicit permission to use some of the features of the hardware. Imagine going to a totally unknown website and giving that website your contacts, your whereabouts etc etc. Oops! No way!!!
But then, there are web apps out there and Apple actually encouraged building web apps initially. They had the web app development kit that gave you tools to build applications for the safari web browser on the iPhone. So why do you build web apps, if there are all the above problems?
Well, again, as in the desktop world, these apps are mostly those that do not take advantage of many of the desktop hardware features (well it was the case before plugins came along), because they do not need to. With the advances in processor speed, memory and browser software, many of the native apps are now being ported to the browser (including apps like MS Office).
These apps do have the advantage of being available anywhere, on any machine and on any platform. One of the advantages that the mobile device carries, is that it eliminates the need for applications to be available on another mobile device because you should be carrying your mobile device with you 😉
Web apps are good for small tasks that do not need a lot of processor speed.
If your app needs to be available even when there is no connectivity to the internet, then web apps are currently totally ruled out.
There are a few other considerations while deciding which to build for your particular app. I will be creating a presentation that compares and contrasts web apps versus native apps, with a special emphasis on the iPhone. And if you have any thoughts, please feel free to post them in the comments. I will include your points as well.