In the recent years new apps have flourished and there's been a lot of discussion around native apps, web applications, hybrid apps and progressive web applications. Let's take a closer look into the differences and whats the best fit for you.
Although it's super popular to create apps for iPhone or Android, that's not always the best solution. So, whats REALLY the difference between apps and web applications and when should you choose the one over the other?
Users have higher expectations for applications than ever, since we are becoming more digital everyday. It has to be fast, easy to use and do a specific task, solve a problem or communicate a piece of information.
Like most things, it is a mix of taste and pleasure and requirements in terms of functionality, and last, but not least, your budget. Anyway, there are some clear advantages and pit-falls with native applications vs web applications.
What is a mobile application?
A mobile application, or native application, better known as an app, runs directly on iOS or Android, as operating systems. It works in the same way as the applications that go with your phone. They have access to all standard functionality on the phone, such as camera, GPS, contacts etc. through the mobiles SDK (Software Development Toolkit).
One of the biggest advantages of native applications is that App Store and Google Play Store are used as distribution channels. This makes it easier for the users to find and install the applications, than to do the marketing yourself on a regular website.
Remember that Apple needs to review and approve all applications distributed through App Store. This process can take time and create extra work for the application to be approved.
It is important to remember that an app is not compatible across mobiles, but needs platform customization, for iOS or Android. Another benefit is that parts or the entire application can be used offline.
What is a web application?
A web application is not really an application, but a website optimized for mobile. When you create a web application for mobile, it is important that it feels like an application and not a website.
It has become more common with hybrid applications, which is a mixture of mobile- and web applications. In reality, it is a regular app where you use the content from a web application. In this way, you can get access to the built-in functionality in the SDK and use App Store or Play Store. This can be a good option, as you can build much of the application as a web application and what is needed as native.
For instance, VG+ runs native on login, while the rest of the content is in your browser, i.e. web application. In other words, VG+ is a hybrid application which combines native and web.
If you already have a website, it is also usually easy to move the content to a web application. Apple has made something called "web-clip", which makes it possible for the user to create a shortcut to a web application on the homepage of the mobile. With HTML5 you can store locally, which makes it possible to store parts of the application directly on the mobile.
What is a progressive web application?
When you think of platform-specific apps and web applications in forms of functionality and reach, we can say native apps represents the best of functionality, while web applications has the best reach. So, where do progressive web applications fit in?
A progressive web application (PWA) is a web application with enhanced functionality and reliability, through use of modern browsers and APIs combines det best from native- and web applications.
With PWA what you build can be installed by anyone, anywhere, on any unit with a single codebase. This gives you an extraordinary possibility to create a web-based experience your users will love!
An installed PWA runs in a standalone window, instead of a tab in the browser. It is accessible from the users home screen, dock, taskbar or shelf. It is possible to search for them on the mobile (unit) and jump between them with an "app switcher", which makes it feel like a part of the unit it is installed.
Today, the internet in itself gives many opportunities. For example, you can create a hyper local video messaging app with WebRTC, geo-location and push-notifications. You can make the app installable and take the conversations virtually with WebGL and WebVR. With introduction of WebAssembly, developers can leverage other ecosystems, such as C, C++ and Rust, and bring decades of work and development to the web. The app Squoosh uses this for advanced image compression.
Companies who have launched progressive web applications have seen impressive results. Twitter experienced 65% increase in the number of pages viewed per session, 75% more tweets and 20% decline in bounce rate (percentage of traffic leaving the site without executing an action) - while the size of the app has been reduced by 97%!
Nikkei has 2.3 times more organic traffic, 58% more subscribers and 50% more daily, active users. Hulu replaced their platform-specific screen experience with a PWA og noticed a 27% increase i visitors from former users.
Progressive web application are HOT! And more skilled than ever and the possibilities are growing in relation to new and upcomming APIs and browser functionality.
So, what should you choose?
All options, without a doubt, have their advantages, but also downfalls. What you should choose vil depend on the need for functionality and reach, as well as available resources (time, money, people, experience etc.)
Native (mobile) applications:
Native applications uses the programming language of each individual platform (Objective-C and Swift for iOS and Java for Android). For native applications, ASO is the process in which to be ranked high in search results, while web applications and PWA uses SEO.
- Often faster and more responsive.
- Store code locally (don't need to wait for static content such as images and text).
- Dynamic content can be stored locally on the mobile temporarily and synchronized with the web server later.
- Can access the units hardware and functionality, such as camera, GPS, mobile contacts, NFC etc. Can also send push notifications built from scratch or using third parties.
- Access to App Store and Play Store as distribution channels.
- More options for built-in security measures, such as 2FA and Multi-factor Authentication (MFA).
- Geofencing: Trigger mobile actions based on virtual boundaries in real life (only available for native applications).
- Can be integrated with other apps for conversations, login and add events in the calendar, checkout etc.
- You must create, maintain and update at least to versions (iOS and Android).
- Android and iOS are to very different languages, so if you launch on one of the platforms and later find out you want to launch on the other, the app must be completely re-written to copy the originals functionality and style.
- App Store must review and approve your changes, so updates takes time.
- App Store Optimization (ASO) takes extra time and costs to deliver the app to the market with keyword survey, writing efficient titles and meta descriptions, create good screenshots, use relevant categorization, reach out to third parties for downloads and reviews etc.
- The user has to find the app and download (can be a threshold, compared to web applications and PWA).
- Uses more space on the unit, than web applications or PWA
- Den biggest advantage of a web application is the biggest downfall of a native application. One simple codebase, which means all users have access and can easily be used across platform (mobile units).
- One codebase to maintain.
- Updates can happen immediately.
- Not bound by rules or limitations from App Store and Play Store. You decide how to offer content and do the marketing.
- From a technical perspective it is easier to develop and overcome web based limitations for an experiences developer, than with a native application.
- None to limited access to hardware functionality on mobile units, such as GPS, camera, NFC etc. This can be the reason for many to go native.
- Responsible for everything regarding the application. You can count on support from the plattform, App Store or Play Store.
- Users have a tendency to trust more on apps than URLs when it comes to security.
- Not installable on mobile- og computer devices
Progressive web applications:
- Cheaper to develop, quicker to build and update than native applications.
- Installable on the device, either mobile or computer.
- Many PWA functions are supported by the biggest browsers, such as Chrome, Safari, Firefox and Edge.
- Launch updates immediately. Don't have to wait for approval from the App stores.
- Compared to regular, responsive websites PWA have increased performance and engagement, which helps the site rank higher in search results (SEO).
- PWA have higher security than web applications, since they must have HTTPS.
- No need for App Store or installation. Simple and fast. (An average user downloads zero apps per month).
- Requires less space on the device than native applications.
- Loading time is much quicker than responsive websites.
- Push-notifications are available through "service workers" help from API.
- Can't be highlighted in the App Store and Play Store for branding and sales boost.
- Users have a tendency to trust apps more than URLs when it comes to security.
- Slower and uses more battery capacity than native applications, since native code is faster and more powerful. Native applications also has access to the devices hardware for calculations to create better user experiences.
- Interaction with NFC or other payment solutions varies depending on the platforms.
- Can't access all functionality on the mobile devices, such as proximity sensor, ambient light detection or smart-lock.
Some last thoughts
You should consider a progressive web application if:
- You have already began and want a simple app for your users: PWA don't need to be downloaded and allows you to interact with users through push notifications.
- You have limited time and budget: PWA takes less time and money to develop and launch.
- You want better visibility for your brand and SEO: PWA is similar to any website and can reach a wide audience.
You should consider a native (mobile) app if:
- You want to build credibility for your brand: Launching apps increase reliability and native apps have more security options.
- You want to leverage advanced smartphone functionality: If geofencing and sensor/detection is essential for UX or your product demand lots of computing power.
You should think carefully about what functionality you need and which platform the application will be distributed. It is often appropriate to develop a small application based on the root problem or user needs.
In the same way as building a house. You need a good framework first, then the job becomes easier afterwards and you don't have to do it twice. It is worth mentioning that you should set up automated testing to quickly detect errors and issues that occur. You can read more about it here.
Eager to get going and need some help?
Reach out to us. Let's have a conversation to find which technology and application type is best suited to your needs. We can also help with design, build, user experience, content, SEO and marketing.
Per André is a Co-founder at Frontkom with 14+ years of experience as CTO and CIO. He has extensive experience with people and technology for both private and public sector. He is also co-founder of Dignio Health Tech, SMSpay, Web3 enthusiast and Co-pastor of 3:16. Per André writes about CMS, headless, awesome tech and team composition and efficiency.