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.
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.
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.
One of the biggest advantages with web applications is that there are many more who have the expertise to develop it. The result is often less development time. The view is based on HTML/CSS and JavaScript, which is also used for showing regular websites.
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.
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.
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 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.
Cons:
Uses HTML, CSS, JavaScript, Ruby etc. and operated through a browser.
Cons:
Uses HTML, CSS and JavaScript. A perfect blend of experience from web to native applications to serve both platforms to end-users.
You should consider a progressive web application if:
You should consider a native (mobile) app if:
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.
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.