Native App vs Web App – Which should you choose?

October 15th, 2012


About the Author: Jon Hockley

I'm a front-end developer working for Dan Smart based in Swansea. My main skills are HTML, CSS, JavaScript and jQuery. I also theme Wordpress designs too!

* Follow me on Twitter or contact me


As time goes on, the number of mobile devices that are used to access the web just keeps on growing.  It is showing no sign of slowing down.

With this, we are seeing more and more applications being developed for the now vast array of devices available to us, whether that’s on a mobile phone or a tablet – the list goes on!

Say you get that ‘big idea’ and you think that you can make an app for it, where do you start?  The first thing you need to consider is what sort of app you would like it to be, a native application, or a web application (or both of course!).  In this article I’ll be taking a look at the differences between the two and also their strengths and weaknesses.  Hopefully it will help you choose the correct path on your app development journey with us.

The Technical Differences

First off, a native application is software that is downloaded and installed onto the device itself.  It has to be developed specifically for the operating system that it is to be installed on ie. Apple’s iOS platform or Google’s Android platform.  Web apps on the other hand are more often developed in a browser rendered language such as HTML, CSS and Javascript. Although HTML5 is now playing a more prominent part.

Because web apps are coded using standard web languages, they may be developed cross platform because they may be accessed by the majority of web-enabled devices.

Capabilities

Whilst I have already pointed out that web apps are generally more cross-platform friendly, there are undoubtedly some cons to counter the pros which you will have to take into consideration.  One of the major limitations of a web app is the limitation it has interacting with the mobile device’s hardware.  Because native apps are installed onto the device’s machine firmware, they have access to all of the devices hardware including the camera, accelerometer etc.  Web apps are limited to just geolocation and orientation, although it is worth noting that this is likely to change, with more and more features becoming available to web apps.

Making money from your app

There is also a difference in how you can make money from either your web app or native app.  Native apps are distributed via their respective stores based on their platform (App Store, Google Play etc) and developers are able to charge for the app.  Web applications on the other hand are not distributed because they are accessed through a browser which is already available to the user.  Monetization is still achievable through advertising and subscription fees.

Native App – Strengths

Native apps have to be specifically developed for each respective operating system.  This generally means that performance is higher than that of a web app due to the dedicated software – Facebook recently made the switch to native app from web app on its iOS platform to handle performance better, thus offering users a faster experience.  Web apps are run through the device’s browser and some apps have to be loaded entirely to run whereas the native app is run on the device and has the option to only load the data to be displayed because the interface is already installed.

Native apps also have the luxury of using the dedicated tools, SDKs (Software Development Kits) and support of the platform providers.  This allows developers to make higher quality apps due to the amount of precision that may be applied.  Web apps, although more cross platform friendly, can only cater for the browser, which may even perform differently based on different devices.

Another positive for the native app is the way it is distributed.  The respective vendors can provide a level of security on what is released on their stores, thus adding that extra bit of piece of mind for the user whilst also having a platform which they can use to find your app easily.  Seen as web apps are accessed through the web, the only trust the user has is with the app developer and the security measures they have taken whilst in development of the app.  Web apps also have to be self promoted because they are not accessed via any app store platform.

Web App – Strengths

Web apps are, in the main, cheaper to develop.  The main reason being because only one set of code has to be developed across all platforms rather than developing applications for all the different operating systems using their respective languages.

Versioning is also easier to enforce.  Because web apps are provided through the web, when your app is updated, all users will experience the most up to date version when they next launch the app.  Native apps have to have their updates installed so if a user doesn’t update the app, they will not be experiencing the most recent version.

Best of both worlds?

There is also an option to combine the two.  If you wish to have a native application but haven’t got the budget to provide apps for more than one platform, you also have the choice to develop a hybrid app.  A hybrid app is an app that is developed using web languages like that of a web app, but compiled and packaged as a native application.  This can be achieved by using development platforms such as Phonegap.  Phonegap is a development platform that allows apps to be developed using web code, but be distributed across all the major platforms, seven in total.

Although a hybrid app retains most properties of a web application when it comes to the code, cross-platform development is generally achievable but there are some instances where platform code is sometimes necessary; but the core of the application may be shared among most platforms.

There is also a consideration to made where hybrid applications are still not as fast as a full native app when it comes to performance.  Admittedly this is not a problem for most applications but it is worth noting that there are apps that will require some elements to perform really fast.

Conclusion

So you’ve heard the basic differences between the choices that are available to you.  Ultimately it comes down to:

  • Your budget
  • Does the app need to use all the device’s hardware features?
  • How important is speed/performance ?
  • How you plan to make money from your app
  • Your target devices – do you need to target them all, or just one platform?

We can help you choose the best route to take for your next app project, you can contact us here


Switch to mobile version