Native or Web-Based? Selecting the Right Approach for Your Mobile App

The decision of whether to make your mobile application native or web-based must be weighed against some important considerations.

Article No :1179 | January 29, 2014 | by Michael Montecuollo

So you've decided to create a mobile application. Whether it is an extension of an existing digital offering (like a website) or a killer stand-alone app, there is a fundamental decision that needs to be made right away that will play a crucial role in the long-term success of the endeavor: whether it will be built as a "native" or "web-based" app.

A native app is one that is built for a specific platform, such as iPhone or Android, using their code libraries and accessing their available hardware features (camera, GPS, etc). A web-based app, on the other hand, is one that is hosted on the web and accessed from a browser on the mobile device. Let's explore the pros and cons of both approaches.

Native Apps

Speed

Native apps tend to be faster and more responsive. Because the code that runs the app is stored locally on the phone, there is no time spent waiting for static content (such as images and text) to be downloaded from the web. While dynamic content may still need to be accessed from the web, it’s an improvement over the web-based model in which everything needs to be downloaded each time.

Local Storage

Native apps can run asynchronously, meaning dynamic information can be stored locally on the phone temporarily and synced with the central web-based server later. While new technologies and features (such as those in HTML5) will allow for this to also be done in a web-based environment, native apps are still ahead of web-based ones on this front.

Killer Features

Going with the native app approach gives you access to that platform's hardware features allowing interesting functionalities such as taking photos, accessing GPS information, making phone calls, leveraging near field communication (NFC), etc. Because web-based apps are platform agnostic, they do not have access to the device’s hardware features.

App Store

While the App Store has gotten a lot of bad press since its debut, it can also be viewed as an asset. It represents free shelf space for new products and can be a great way to advertise to and gain new users, especially if an app offers unique features. When releasing a web-based app outside of the App Store, you would be entirely responsible for its marketing and distribution and would not have this same edge.

Drawbacks

The biggest drawback to developing a native app vs. a web-based one is that a separate code base must be created and maintained for each individual platform. For example, if you decided to initially build an iPhone app, you would have to design, code, and deploy an iOS app to the App Store. If you then decide down the road that you also want an Android version, you will have to redesign the app for the Android device, code and deploy it to the Android app store—likewise for other platforms.

While there can be savings in porting an app from one platform to another (versus building it up from scratch) the value may be less than you would think. From a design perspective, the task of changing the look and feel from one platform (say iPhone) to another (say, Android) is often straightforward. From a development perspective however, the code bases are two entirely different languages and will have to be completely rewritten simply to mimic the original app’s functionality.

Web-Based Apps

Single Solution

The biggest upside to a web-based approach is, of course, the biggest downside to a native one. When developing a web-based app you are centralizing your offering. Users of any mobile device (iPhone, Android; even Blackberry, Palm, and future devices that don't exist yet) will be able to access the app and use it immediately. There is no waiting for the [insert mobile device here] version of the app to be released and you need only have one person/team maintaining a single code base. Single-source means that there is a single version of the code base that all users across all platforms access and use.

Real-Time Updates

In addition to this, updates to your app can happen in real-time "automagically.” There is no waiting for the App Store gods to review and approve your change, and you don't have to bank on your user base going through the process of updating the software themselves.

Freedom

Another big upside to the web-based approach is that you are not tied to the rules set forth by the terms and conditions of competing app stores. You are free to offer content and advertising as you see fit.

Catching Up

It's also worth mentioning here that, from a technical perspective, things are moving forward very quickly on the mobile web. For an experienced web developer, many (but not all) of the limitations of the web can be compensated for or overcome entirely.

Drawbacks

The biggest downside to the mobile web is the lack of (or limited) access to the hardware features of mobile device, such as GPS, camera, NFC, etc. For those developing an app that must have access to any of these hardware features, this limitation often forces the decision to go native.

Additionally, while the constraints and requirements of a developing for a platform may be seen as stifling or constrictive, they also serve to force consistency and inherently solve for many subtle details with very little work. When developing a mobile web solution, a person is responsible for everything concerning that app and cannot rely on the platform or app store for support.

Moving Forward

Given the incredible rate that technology is advancing, the following considerations should also be taken into account when creating an app.

Cell connectivity will continue to improve both in coverage and speed. The next generation of cell phone technologies will have a positive effect on the performance of apps that require access to web-based information. This has the potential to narrow the gap between native and web-based apps in terms of speed and responsiveness.

Web technologies will continue to improve meaning the edge that platforms such as iOS and Android currently have will disappear over time. While Apple and Google surely have more tricks up their sleeves, web technologies such as HTML5 will become serious contenders to native offerings.

As the app market continues to grow for both mobile devices and tablets alike, it will become more fragmented and considerable market share may not just be limited to one or two platforms. Additionally, new mediums such as interactive television are already coming up on the horizon. Considering the guarantee that there will be more mediums and more platforms as technology continues its march forward, the need for centralized product offerings will become more necessary for those who cannot afford to develop applications for multiple platforms.

In Conclusion

Both approaches certainly have their share of benefits as well as drawbacks. Which approach is “better” for developing a particular application will depend largely on its desired functionality and reach as well as available resources (time, money, etc.). A long-term strategy would seem to favor web-based over native apps, but keep in mind that no matter which approach is taken, a well-orchestrated user experience is the best defense in the rapidly evolving world of mobile platforms and devices.

About the Author(s)

The Director of User Experience & Design at DOOR3, Michael Montecuollo has been with the company since 2007. He is tasked with overseeing all enterprise, web, and mobile user experience work for the company.

Michael manages a staff of talented UX and visual designers in ensuring that DOOR3 builds solutions that are highly usable, easily adoptable, and up to the latest standards and best practices within their solution domain.

Comments

Saroj

March 24, 2017

Well said Michael Montecuollo, I, being a mobile app developer at Root Info Solutions, fully agree with the considerations depicted by you. With the evolution in Web technologies, the market share of web apps will go up no doubt, all that we mobile architects need to do is to keep pace with the expectations and requirements of the industry in terms of user experience. Besides the core architecture, the backend and animation quality will also play a pivotal role in the app success.

It may be mobile app or web app, it depends on what is the thing you want to extract from them. Web apps are cheaper then mobile apps but still they are not enough capable of providing the user experience which the mobile app can provide. Mobile apps are faster, can be used in offline mode and they provide the user with fastest navigation which is not possible in case of Web apps. Now, a days as we know that the speed is what really matters so companies need to think and decide what will lure the users and what will make them abandon the apps. There are also many security issues which are related with the web apps which are still not resolved. If also one is opting to build Web apps, they need to keep in mind that the app should be responsive, speed and should provide a great user experience to the users which is the most important goal of any app.

We've discovered mobile apps are not really suitable for handling serious business data. That's why we've develeped our own oidCRm. I say "oid" because it's actually not CRM, but has proved indispensible for small business owners in handling day-to-day data: tasks, calendar, contacts, bulk mailing, address labels, newsletters, etc. It even has web forms. And It's all free. http://www.josytal.com/web-based

Hey Michael a very insightful write up. This is a common question asked by many people looking to get an app developed, Selecting between the two completely depends upon the fuctionality needed, kind of budget, technical capabilities and many more. Like if you want a shopping app to be developed then web based platform is preferred, because it will need internet connection for making payments and all. If the app needs device specific feature like camera, compass or accelerometer then Native is preferable. So, both have their respective advantages and disadvantages.

We have also tried answering similar kind of queries in our Mobile App Development consulting series:
http://www.youtube.com/playlist?list=PLT_LlUc4U_lD1yGMvYfNKTP21za4ZWUqg

Great article Michael. It's a difficult choice for many companies to make and many neglect to even think about the different ways of doing it. Researching options for both the platform and users is crucial.

You missed mentioning hybrid apps. I just wrote a desktop web app using AngularJS, and quickly ported it to my Android phone using PhoneGap, only needing minor modifications to the styling. All of the images and functionality of the app are located on the phone upon installation.

Sorgfelt, your point is well taken. I could probably write another entire article on the hybrid approach, although I think most of the fundamental considerations between what to go native with versus what to go web-based with would remain the same

Thanks Michael, a great summary to help us all make what is often a massively strategic decision. We also attempted to summarise the decision making process with a poster : http://www.fjordnet.com/conversations/the-10-essential-criteria-for-choosing-a-mobile-delivery-strategy/