Native applications are software programs designed to run on a specific device. Web applications are designed to bring the application to a device via the web. A web app is typically coded in a browser rendered language such as HTML5 and can be made to look for all intents and purposes like a native application and can be designed to run on most devices with a browser. Currently the majority of applications available in the Apple store, Android marketplace, and Windows phone store are native apps, in that the technologies used to create them are proprietary to those platforms. An application written for the iPhone will only run on the iOS platform and must be almost entirely rewritten in order to run it on the Android platform.
These days, many native applications are using real-time network connectivity and some web applications can be designed to operate without a network connection. These applications are known as hybrid applications. Facebook is an example of a hybrid application, hybrid doesn’t mean its good! Even though the Facebook application appears to reside on the device, it relies on network connectivity to get both its content and user interface.
The difference in user experience between web apps and native apps is becoming less obvious, web apps are a little slower but that will cease to be a problem when LTE arrives as it is faster than most home broadband connections.
At present though there are pros and cons. Lower cost and faster development are some of the main advantages for developing a web app. The ability to maintain and control the content of the app from a single source is a huge benefit. Users failing to update their native applications is a current problem but this is not an issue with web applications as every time the user opens the application they are looking at the latest version and the vendor controls this.
One of the things that has been holding back application development is the strict control that Apple and Google maintain over their app store content, but given that web apps are available to anyone with a browser there is little that these companies can do to hold them back. At present many device features such as camera, accelerometer, gps are not accessible programmatically via a web application. This is changing. There are now frameworks available that help to bridge this gap. Phonegap is an example of this.
Another big problem with native apps is the cost of building for the myriad of screen resolutions out there. Web applications simplify this issue; by using responsive design we can optimise the user interface to display correctly on multiple screen sizes.
Vilicom have recently completed an RF application that assists our engineers and customers with making on the spot calculations. From a development and usability point of view it made perfect sense to write this as a web app as this allows our users to run the application from any device be it a laptop, tablet or mobile handset.
It seems obvious that web applications are the way forward and it looks likely that in the near future we will spend more time in our internet browsers than with traditional “desktop” applications. The question is will the major stakeholders in the mobile device industry allow this to happen? Let us know your thoughts.