In this article, we'll look at Native Apps, Web Apps and Hybrid Apps, giving a definition for each, along with expert advice on whether native, web or hybrid is the best fit for your app development project.
At MobiLoud, we've spent the last 10 years helping businesses to turn their websites into mobile apps. In that time, we've learned all there is to know about web, native and hybrid apps, and the pros and cons of each.
While there's no catch-all answer as to which type of app is the best, we can give you guidance, depending on factors like your budget, deadline and desired feature set, to help you figure out the most effective way to bring your app idea to life.
Keep reading for more, or check out this video for the key takeaways:
Most software applications can be classified as either web apps, native apps or hybrid apps.
Native apps are applications built specifically for one operating system, in a programming language native to that OS. Web apps are built to work within a web browser, while hybrid apps can work in multiple environments (e.g. on the web and on mobile devices).
In general, native apps are the most powerful, but the most expensive and difficult to build. Web apps are convenient and easy to build, but are limited by what the browser allows. Hybrid apps offer a nice compromise between the two, and are often the most cost-effective option.
Note: while native apps can refer to applications built for desktop operating systems (Mac/OS), this article will primarily focus on app development for mobile devices. Web apps refer to mobile web apps, and when we talk about native apps, we’re talking about apps built for the two most popular and important mobile operating systems, iOS and Android.
Now let’s dive deeper into native apps, web apps and hybrid apps, with a full explanation and breakdown of the pros and cons for each.
What Are Native Apps?
A native app, or native application, is a software application built in a specific programming language, for the specific device platform, such as iOS (iPhone) or Android.
Native iOS apps are written in Swift or Objective-C and native Android apps are written in Java.
Because they are built in a native development language, native apps can only work on the device they’ve been coded for. That means a native iPhone app can’t work on an Android phone, and vice versa.
What Are Web Apps?
The difference between a web app and a website is subjective, but most would agree that a website will generally just be informational and a web app provides additional functionality and interactivity. However, fundamentally, websites and web apps are basically the same thing.
Web apps don’t need to be downloaded like mobile apps do, and they don’t take up any memory or storage on the user’s device.
What Are Hybrid Apps?
A hybrid app is an app that combines web and mobile technologies, to be able to run in a variety of environments with largely the same code base.
Most of the time, a hybrid app is effectively a web app wrapped in the shell of a mobile app. Yet unlike web apps, hybrid apps can be downloaded and run locally, similar to a native mobile app.
Diving Deeper: Native Apps
Let’s take a closer look at native mobile apps, including how they’re built, the benefits and disadvantages of building native apps, and some popular native app examples.
How are Native Apps built?
Programming frameworks for native applications are limited to languages that are compatible with the platform they are being built for.
For example, Swift or Objective-C is used to write native iOS apps, Java is used to write native Android apps, and C# for the most part for Windows Phone apps.
These tools allow any professional developer to develop a native mobile app relatively easily.
Benefits of Native Apps
There are several advantages to building natively, which is why this is the preferred way to build a mobile app, if time and budget are not a concern. Let’s run through them now.
Fast and Responsive
Native apps offer the fastest, most reliable and most responsive experience to users, as their programming languages are fully optimized for the OS they’re developed for.
As native apps are downloaded and run locally on the user's device, they can be built to work without an internet connection. This is a big plus for some utility-based apps, though other types of app may still need to tap into an online server to operate (e.g. social media apps, news apps, shopping apps).
Easy to tap into wider device functionality
Native makes tapping into the camera, microphone, compass, accelerometer and swipe gestures super easy. It’s still possible in some cases to do this with hybrid or web apps, but it’s easiest on native.
Match app UI/UX to platform conventions
You’re more likely to please your users due to the way you can match each app’s UI/UX to the platform conventions.
There are dozens of UI/UX differences that make users feel at home. By building native, you don’t have to compromise with UI/UX that you hope will be user-friendly for all platforms.
Disadvantages of Native Apps
There are a couple of disadvantages to native apps which you should consider before going down this route.
More than one codebase
iOS apps will not run on Android and vice versa, so you will have to work with different codebases for every platform you choose to build in. This makes building (and maintaining) native apps much more complex than hybrid and web apps.
Native Apps cost more and take longer to build
Native apps cost more to develop than hybrid apps. You're looking at $100K to get first versions out on iOS and Android, and that's a relatively conservative estimate.
Most developers specialize in one platform (Android or iOS), so to have your application developed on both platforms will require two separate developers (or teams), which adds time and cost.
Examples of Native Apps
A large number of the most popular apps out there like Lyft, Pokemon Go, Twitter and many more are fully native.
However, it's becoming trickier to distinguish apps that use purely native code on Swift, Objective C and Java from apps that are relying on hybrid solutions or cross-platform SDKs, thanks to the advancement in hybrid app development frameworks.
Cross-Platform Native Apps
As mentioned earlier, the main disadvantage of native apps is having to develop apps separately for each platform you want to cover.
That’s still true if you want to stick to the native SDKs provided by Apple and Google, but in the last few years, several alternatives have become available to reap the benefits of cross-platform development without sacrificing the user experience or access to native APIs.
There are several platforms that allow for cross-platform development including Xamarin, React Native, Titanium, and Google's Flutter, which are all worth a look.
Made by Microsoft, Xamarin is a platform that lets developers build one app that works on multiple platforms in C#. They also provide free tools to build, test, distribute, and learn from your apps.
Xamarin feels like a more complete development environment than other frameworks, even offering a test environment where you can test your app on thousands of virtual devices before launching (this is crucial for cross-platform apps - you need to make sure your app works as expected on both iOS and Android, and on all devices).
Xamarin also offers a few prebuilt apps you can use to get a quick start. Some companies that have built apps with Xamarin include Slack, Pinterest, and Honeywell.
Not wanting to be left out of the fight, in 2015 Facebook launched an open-source project of their own called React Native, which lets you build real, native iOS and Android apps with one codebase.
It’s not a “mobile web app”, a “HTML5 app”, or a “hybrid app”.
With React Native you can build a real native mobile app that's indistinguishable from an app built using Objective-C or Java.
At Instagram, they published stats showing that for the features they built with React Native, the amount of code shared between iOS and Android was over 90%.
While React Native doesn’t give you access to all the device’s functionality, you can weave in native code if you need to.
It no longer relies on webviews and this results in a more “native” look and feel for your app.
Titanium has a great showcase of apps built with their technology on their website. Some of the more well-known apps built using Titanium are eBay, ZipCar, PayPal, and Khan Academy.
Diving Deeper: Web Apps
Now let’s dive into web apps, how they’re built, how they compare to mobile apps, and how you can build web apps that deliver a user experience closer to that of a native app.
How are Web Apps built?
Unlike an iOS or Android app, there is no software development kit (SDK) for a developer to work with.
There are templates and frameworks for developing web apps like Angular, React, and Vue.js that you can use to get a quick start.
Web Apps vs Mobile Apps
Web applications have some distinct advantages and disadvantages compared to mobile apps.
The most obvious is that web apps can function on a variety of devices, both desktop and mobile. As long as there’s an internet browser, the web app should be compatible.
Web apps are also (mostly) much simpler and faster to build. Building a web app is often a good way to test out an idea before investing in a native mobile app.
The issue is that web apps generally can’t provide the same level of functionality and user experience on mobile as native apps can. Though almost all web apps today are optimized and responsive for mobile users, the browser limits what’s possible for the mobile user experience.
Progressive Web Apps
Until recently, web apps lacked the functionality of native apps, like the ability to send push notifications, work offline, and load on the home screen. The internet was mostly composed of static web pages.
However, there have been improvements to browsers and web development, and web apps can now harness all these features.
Apps that take advantage of these features are called Progressive Web Apps (PWAs).
There are a few steps you need to take in order to turn your web app into a progressive web app.
They go beyond the scope of this article, but you can find a comprehensive guide by Google here.
You should also check out our detailed guide to progressive web apps that includes a detailed overview and 50 PWA examples.
Are Progressive Web Apps the way to go?
It depends what your goal is. In general, they are good for giving your existing audience a better experience on mobile than they currently get with your site. We recommend creating a PWA, but it is not really a substitute for mobile apps - it is more of an upgrade of your current web UX.
If your goal is to cover an audience on Android and iOS, then progressive web apps are probably not optimal.
They can be a great solution on Android, but iOS support is still rather limited, meaning you'll likely be missing functionality you need in the long run, especially push notifications.
Consumers are also increasingly using Google Play and the Apple App Store to search for solutions to their problems, as opposed to purely using the mobile web - so even though PWAs help provide a better mobile UX they don't cover all the bases for mobile discovery.
Installation is also a downside. Although it is technically possible to "install" a PWA on a mobile device, the process isn't especially straightforward and can confuse users - making it harder to get that valued real estate on their home screens.
PWAs can be a good way to quickly get a mobile-app-like web app into people’s hands. For the above reasons and more though, Progressive Web Apps are not a substitute for mobile apps - although they work very well together in tandem.
If you have a WordPress site and want to convert it into a PWA fast, just get in touch with our team. If you already have a PWA, even better, read this detailed piece on how to convert it into iOS and Android apps in just days!
We also created a comparison guide on how Progressive Web Apps compare to Native Apps - you can read that here.
Diving Deeper: Hybrid Apps
Want the advantages of a native app, without the extreme cost and complexity? Enter hybrid mobile apps.
It’s essentially a web app with a native shell, allowing users to download it from the app store and install and open it from their home screen. To the user, a well-made hybrid app is indistinguishable from a native app.
For many businesses, this is the ideal compromise between the simplicity of a web app and added benefits of a mobile app.
The Native vs Hybrid app debate is complicated, and even though we've just shown you some key benefits of building a native app, there are certainly advantages to hybrid app development.
For one, let's say you have an idea for an app and you don’t know if people will like it or not.
Your goal is to put something usable into their hands as quickly as possible. You’re short on resources, so you need to create a simple version of your product that still provides value.
In the startup world, this is called an MVP, or minimum viable product.
Building a web app might be the truly minimal option, but it won’t really allow you to test whether people will download and use an app on their device.
A hybrid app offers a solution to this. But that’s just one example - hybrid apps offer a number of other advantages, which we’ll cover below.
Advantages of Hybrid Apps
Here are a few advantages that come with the decision to develop hybrid apps.
One codebase to manage
All the advantages of hybrid apps stem from the fact that, instead of building two apps, you’re building one app and simply tweaking it a bit so it works on both platforms.
With a hybrid app, you only have one codebase to manage. That makes things a whole lot simpler, in terms of the initial build and managing the app long-term.
You save time and money
As you only have to manage one codebase, you'll probably require half the number of developers two native apps would have required. Or, with the same number of developers, a hybrid app could be published in half the time.
In addition, hybrid app developers are often less expensive than native application developers. That, combined with fewer billable hours, means significant cost savings.
Easier to scale
Hybrid apps are easier to scale to another platform. Once you’ve built for one platform, you can launch on another like Windows Mobile with ease. Compare that to native development, where you need to start more or less from scratch for each platform.
You still have access to device features
As with native apps, hybrid apps let you retain the same ability to access device features.
This is thanks to solutions like Cordova (formerly PhoneGap) that act like a bridge between the native SDK and the webview in which the app runs.
Disadvantages of Hybrid Apps
Now let's touch on the downsides of hybrid applications.
In the early days of mobile, Google and Apple didn’t give webviews the same engines used by their mobile browsers, Chrome and Safari. Since then, webviews have vastly improved but it hasn’t necessarily reached native performance yet.
Cross-platform development is tough
Getting your hybrid app to run appropriately on each platform generally takes substantial work.
In some situations, the total cost might become comparable to that of fully native apps, rendering the cost benefits negligible. It all depends on how close you want to get to the “native user experience” or how simple your app is.
The UX of the app may suffer
iOS and Android users tend to be very loyal to their platforms, and since they’ve been using them for years, they’re used to how things work in native apps.
The differences are subtle but can be frustrating for your app users.
By building a hybrid app, you won’t be able to please both camps. Try too hard to customize the app based on the platform and it may end up costing the same as two native apps.
Hybrid App Platforms
Part of the advantage of hybrid development is the range of platforms available that facilitate hybrid app development, and allow you to deliver an app that is not too far off what you’d get from a native app.
Here are some of the most well-known hybrid app platforms today.
It was previously the foundation for a tool called PhoneGap, which was one of the most common hybrid app development tools. PhoneGap was eventually shut down, but Cordova is still active and maintained.
Cordova apps run in a webview and are then wrapped in native code. You can then use native plugins to use all of the device’s functionality including the accelerometer, camera, compass, file system, microphone, media, networks, notifications, geolocation, and storage.
Apps need to be packaged into binary files which will include a webview wrapper and your app’s HTML files, normally loaded locally on the device.
Our own take on hybrid app development, Canvas is a service offering anyone with a mobile web app or responsive site the ability to build a mobile app for it, with no development work.
Canvas (along with our News solution) is offered as a service, meaning we will build, publish and maintain your apps for you.
Technically, Canvas relies on our own native codebase for iOS and Android, including native elements for navigation such as a tab bar, a push notifications inbox, content preloading for your pages, caching, and offline support.
We mentioned earlier that the main drawback with hybrid apps is speed and performance. We've been refining and improving Canvas over the last 10 years and over 2,000 apps, so it can give the best possible performance from the hybrid model. We use the latest webview and caching technologies to ensure optimal speed.
Who is Canvas Suitable For?
Canvas is not a platform to build apps from scratch - but rather to convert your existing website or web app into iOS and Android apps. The great thing is that you can use all your existing features, content and functionality from your site in the apps, which will sync completely and update automatically.
Canvas can really be used for any website or web app, no matter the CMS. We also set you up with unlimited push notifications on Android and iOS, all the native features you need to give a great app experience, and all the customization options you need to make the apps your own.
We get you ready to publish on the App Stores in under 2 weeks for less than 10% of the cost of native development. If you are considering a hybrid app and already have a web app or successful site Canvas could make a lot of sense for your business.
Hybrid App Examples
You can do some pretty incredible things today with hybrid app technology. A lot of hybrid mobile apps are so sophisticated that it's hard to tell that they're not native.
Check out below these examples of hybrid apps for a first-hand look at what's possible.
- Marketwatch (built with Ionic)
- Sworkit (built with Ionic)
- Untappd (built with Ionic)
- Giro D'Italia official app (built with Onsen UI)
- Offcourse Golf (built with Onsen UI)
- Tripline (built with Framework 7)
Converting a Web App into a Hybrid App
One of the best uses for hybrid app development is to convert an existing website or web app into a mobile app.
This is a great fit if you want to build a mobile app that does everything your existing site or web app does, but only misses a few things that a native app generally provides, such as an app store presence, push notifications, home screen icon, offline use.
You won’t have to manage two platforms (iOS/Android) separately, and you won’t need to rebuild much. You’ll have a single web app that covers the mobile web and the two major mobile platforms with your apps. This is exactly what we built our Canvas platform for.
Why Should I Build a Mobile App Versus a Web App?
Let’s take a closer look at why you should want to build a mobile app instead of (or in addition to) a web app.
Mobile apps have numerous benefits that web apps lack. They especially make sense if your product or service is something that will be used frequently or habitually.
Increased Engagement & Retention
Mobile apps offer a more streamlined, ‘contained’ experience that can retain users more successfully than a web app.
A web app is good for desktop users, first contact, and picking up referral or organic traffic - but it isn’t an optimal mobile experience for repeat usage. It Isn’t ideal for engaging users and building loyalty and habit around your brand.
Mobile apps on the other hand let you meet the expectations of modern consumers and offer them a better mobile UX through a less distracting, more enclosed environment and a direct route through a single tap on their home screens.
This is far more direct than opening up a mobile browser, typing in an URL, and waiting for everything to load.
App Store Presence
Just having a presence on the App Stores can be a benefit for certain businesses. A lot of consumers these days use Google Play and the App Store to search for solutions to their problems, much like they use web based search engines. If you optimize well for App Store SEO, then you can pick up new users that are searching for related keywords.
Getting users to your product the first time is easy. Getting them to return can be a challenge. Push notifications will be extremely important for any serious mobile app.
Only mobile apps give you the opportunity to send well-timed push notifications to re-engage users, promote products and offers, and communicate directly with your userbase.
According to data from Localytics, when a user opts in to receive push notifications, they will launch your app 88% more than a user who doesn’t receive them.
Another key to growing your app is getting people to share the app itself or content within it to their friends.
This can be done on a web app, but it’s best done on a mobile app.
As an app user, you can quickly share to any app on your device (such as Email, WhatsApp, Messenger, Facebook, Instagram etc.) in a much easier way compared to a browser.
Time within apps
Users spend a lot more time on apps than they do on the web.
In fact, research suggests mobile users spend 88% of their mobile time using apps, and, from 2016 to 2018 time spent in apps grew by over 50%.
The popularity of apps has increased enormously and is continuing to rise.
Additional Advertising Revenue
One more advantage to building a mobile app over a web app is ad revenue, and the opportunity to use other app monetization techniques.
CPM for ads within mobile apps are generally higher than in web apps and on the web in general.
Many people also use ad blockers for their web browsers which can lower your advertising revenue, and figures show that in-app ads are more effective than both mobile web and desktop browser ads.
Does this mean you should always build a mobile app vs a web app or simply a mobile site? Not necessarily.
As a good rule of thumb, if you can imagine a good portion of your users accessing your service or content once daily, then an app will make sense.
If what you provide is generally used once and never again, then don’t invest in an app and focus instead on a good mobile optimized web presence.
How To Choose Between Native Apps, Hybrid Apps and Web Apps
You should have a good grasp now on the advantages and disadvantages of building each type of app, along with the benefits of building a mobile app (native or hybrid) over a web app.
Now let’s look at the factors you need to consider when deciding which type of app is the best fit for you to build.
User Experience (UX) is the overall experience a user has when using your product, especially in terms of how easy or pleasing it is.
A user interface is like a joke. If you have to explain it, it’s not that good. And if your app has bad UX, people will stop using it. Needless to say, you need to invest in UX.
The best possible thing you can do for UX is to write two separate native apps for iOS and Android. There are differences between the two operating systems and people have gotten used to them. If you hand an Android phone to a loyal iPhone user, chances are they’ll stumble a bit, and vice versa.
Whether that is a big enough downside to justify spending 10x the cost is for you to decide. Hybrid apps don't have to provide a poor UX, and a lot of the world’s most popular apps today are hybrid apps.
To see a list of the major differences between iOS and Android, click here.
Time to market and cost
How much does building an app cost? There’s obviously a large range here. Prices will vary based on complexity, features, and platforms.
A quick way to get an estimate is to use this tool created by the fine people at Crew. It asks a number of questions and gives you an estimate of how much your app will cost.
Essentially, your mobile app development cost can be determined by just 2 factors: hours required to build and hourly cost. The hourly cost will stay mostly the same and is easy to determine, but the number of hours the app requires depends on what you need the app to do. Some of the major features you might need are covered in the tool created by Crew.
As a rough estimate, native applications will cost $100K for a first version, and take around six months for a functional but not excessively complex app. You can also take 20% of the initial build cost for routine maintenance and updates annually, and of course it will cost significantly more to perform major updates and rework the app's functionality in future iterations.
Web apps and hybrid apps are significantly faster and cheaper to develop - but are not as "good" depending on what you need from your app.
How should time to market affect your decision?
If your app seems like it would be a good fit for hybrid, this can considerably reduce your time to market. However, by doing this, you may be sacrificing something that will be hard to gain in the future.
There’s an important term “technical debt” that applies here. Assuming your app does really well, you will eventually have to face some of the technology decisions you made earlier. In general, technical debt is costlier in the future than it is now.
On the other hand, your job isn’t to write great code, it’s to ship products that people receive value from, so technical debt is okay!
As Joel Spolsky says in his blog post The Duct Tape Programmer:
”A 50%-good solution solves more problems and survives longer than a 99% solution that nobody has because it’s in your lab where you’re endlessly polishing the damn thing.”
And he would know. Joel Spolsky is the CEO and co-founder of Stack Overflow and also founded Trello, FogBugz, and Gomix.
Using device features
Depending on the complexity of your app, you may want to tap into the various features the device itself has, like the accelerometer or camera.
Once again, the best way to get access to these things is by building fully native apps from the ground up. Some hybrid app development tools may be able to tap into device features, but it takes a little more effort and development work.
Think about whether your app really needs to access device features. If your business is already built around a web app, having that run as a hybrid mobile app might be enough.
If your users are not happy with the performance of your app, they will simply find another one to use.
In general, native apps have the best overall performance compared to web and hybrid apps. However, a lot of apps don’t necessarily require a high bar in terms of performance.
Since hybrid apps are basically dedicated browsers, they’re good at showing apps that mimic the experience you would get in a browser on a computer, namely pages.
If your app is just a series of pages and doesn’t have impressive graphics, a hybrid app may be just fine for you. However, building a game or an app with lots of animation would not be a good fit for a hybrid app.
Apps are supposed to “feel” right. If you swipe an element in a certain direction, you expect it to react immediately and according to your wishes.
This is easy in native apps. Not so much in hybrid apps, though developers could try an external library like Hammer.js to get native-like gestures.
Data processing needs
Many of the most popular apps today are very CPU (processor) heavy.
Think about Snapchat which applies filters to video. Things of this nature would simply not be possible in hybrid apps.
Whether you’re starting from scratch or building an app from an existing property will influence your choice.
As we’ve mentioned, hybrid is a great fit if you want to convert an existing website or web app into a mobile app.
This adds another layer of complexity if you choose to build natively, as you’ll likely need to build out APIs to connect your website and apps, along with rebuilding your UI to ensure a consistent experience across platforms.
But in many cases, such as ecommerce sites or news sites, you just want to convert what you already have into a mobile app. For that, hybrid development is perfect - specifically Canvas, or MobiLoud News, our platform designed for WordPress-based publishers.
How to Make a Web or Hybrid App Feel Native
Many businesses can’t justify the cost to build fully native apps. Yet you may want to access the benefits of mobile apps, as outlined above. For these businesses, hybrid apps are a great fit.
The ultimate goal of a hybrid app is to feel like a native app on the platform it's being used on. Here's what you can do to make your hybrid app look and feel like it's a custom native app:
- Use a splash screen, so that the app loads to a fully loaded app.
- Add a back button to the UI, to make sure users can navigate intuitively. Android already includes a back button in the system interface or in the device, but iOS needs your app to allow users to navigate back as they move around.
- If you’re building an app from scratch, use a UI library like Onsen UI. It will not only speed up development time, it will make design decisions much easier. UX and design is based on conventions or what the user is used to. A library like Onsen UI has already made all the mobile components according to conventions.
- Get rid of the 300ms delay. All browsers, including webviews would normally add a 300ms delay when users tap on an element. Why? It’s because it’s waiting for a second tap. 300ms may not seem long, but it’s enough to make an interface feel sluggish.
- Where possible, follow the style guides. If you’re designing your app from scratch, have your developer and designer read the style guidelines created by Apple and Google.
- Make wait times seem shorter. If you can’t avoid having a screen delay, show a loading icon or progress bar. Any delays longer than 0.1s are significant enough to warrant a loader, in order to warn a user the app is alive and loading.
Summing Up: What Type of App is Best For Your Business?
Native apps, web apps and hybrid apps are all perfectly viable choices in certain situations. There are pros and cons to each, and each business will place varying levels of importance on each of these pros and cons.
Apps are expensive enough that you may only have one go at getting it right. Read as much as you can about the different kinds of apps and the development stages. Consider whether it’s worth it to invest in a fully native app, or whether a hybrid solution does everything you need it to.
If you’re unsure, and still testing out ideas, building a web app can be a good middle ground to find out whether your idea is worth investing more in.
If you can, get in touch with people that have gone through the process of building each of these kinds of apps. They will be able to give you the best opinions.
Now you have a better idea of how to build your app, let us take you through the app-building process - from market research to launch. If you're looking for an easier and more direct route to the App Stores and you already have your own site, consider MobiLoud.
You can convert your site into great iOS and Android apps on our platform within weeks - and for an affordable investment. Our team also partners with your business to help really make the apps a success - we're with you every step of the way!
All you need is a website. We do the rest.
Want to hear the process laid out in detail, see example apps, and get all your questions answered? Let's get started - book a demo today!