We talk to many clients who are keen to learn the difference between mobile and web applications. We’ve put together the ultimate app guide for 2020, to help you determine the ideal solution for your business while addressing a common online debate: mobile vs web apps.
What is a mobile app?
A mobile app is a software application designed to run on a mobile device (typically a smartphone, tablet or smartwatch). Apps were originally designed for general productivity and data retrieval such as email, calendar and contact databases, but the public demand for apps caused rapid expansion into other areas such as eCommerce, healthcare, mobile games and many more.
Now, mobile apps are typically designed to solve a specific need that a user may have. These needs vary widely, so businesses are increasingly taking advantage of the opportunity to cater to these consumer demands.
A good example of this is Uber. Uber was developed in 2009 and allowed users to hail a taxi with a click of a button via their smartphone. Quickly gaining global popularity, Uber now does 6.9 billion trips a year.
Uber took advantage of another rising consumer demand when it launched UberEats in 2014, allowing users to read menus from local restaurants and order food to be delivered to their home, work or any other address they provide. UberEats now has 21 million monthly active users around the world.
A few recent headlines highlight the expanding app boom:
- Research firm ComScore estimates that 20m people in the UK play mobile games every month, while 6.2m play them every day
- Electronic Arts’ revenue for May 2020 was about $43 million, and its games were downloaded more than 40 million times
- There are now approximately 2.2 million apps on the Apple App Store and 2.8 million apps on the Google Play Store
What are the different types of mobile apps?
A native application is a mobile application built for a specific software operating system. The two most popular mobile operating systems are Android and iOS – when combined, the two control 99% of the market share.
Native applications need to be downloaded onto the device, usually from an app store provided by the operating system. An app developed for the iOS platform can’t be downloaded on an Android device and vice versa.
Being downloaded onto the device allows the native application to take advantage of the device’s hardware features, such as its camera, microphone, Bluetooth and so on.
The main objective of a native app is to make sure it delivers the best performance for its users. As a result, these applications boast good user interfaces, performance and consistency. They also tend to work offline.
Due to the ease of accessibility, native applications have higher user engagement compared to other types of mobile applications. That said, it’s been observed that on average, users download 0 new apps a month, spending 95% of their time in their top three favourite apps. On top of that, users see downloading a native application to their device as a commitment in space, time and cost.
A drawback of a native application from a business’ perspective is that a different version of the application will need to be created and maintained for each platform.
This inevitably increases the cost of development, as the app development is most likely to be carried out by two separate teams.
A web application is a software application that’s stored on the internet and can be accessed via a web browser, rather than having to be downloaded onto a physical device from an app store.
As web apps can be accessed via a web browser, it means they can run on multiple platforms as long as the web browser installed on the device is compatible. This also means that all user’s access the same version of the app, eliminating the risk of compatibility issues.
Web apps are designed to look good on mobile devices. They’re responsive and designed with a mobile-first approach, meaning the development team starts by focusing on the mobile view, whilst ensuring it also works well on desktop devices.
Web apps are cheaper to build than native and hybrid apps, not only because the cost of hiring a web developer is cheaper than hiring a native app developer, but also because web apps are cross-platform.
This means that the app only needs to be written once, and will work across different devices regardless of the operating system. This decreases the cost of development significantly, as a separate team isn’t required to develop and maintain the application for each platform.
However, it can compromise on performance, as web apps won’t be able to speak directly to the operating system or device hardware, maximising on the features and functionality of the device. Speed is a good example – native apps are built for a specific device, so they’re optimised to run on it as fast as possible. Web apps tend to be slower.
Another disadvantage of web apps is that users must navigate to a web browser, and then to the URL of the app before starting to use the service. This isn’t as efficient an experience when compared to the accessibility of a native application, where the user can launch it with a single tap from the home screen.
When used with frameworks like Cordova and PhoneGap, it’s possible to build a single hybrid app that can be deployed to multiple platforms. This means that there’s only one code base to develop and maintain, compared to native apps that need a separate code base for each platform the app will run on.
Another advantage of hybrid apps is that the user doesn’t have to navigate to the browser/URL to access the app’s services. The hybrid app will have its own icon in the user’s home screen, (unlike a web app), allowing for quicker access to the app which improves user experience.
Again, hybrid apps are usually slower than native apps due to the fact that native apps are targeted and optimized for a specific platform, whereas hybrid apps are not.
How does a website differ from a web app?
A website is a collection of static HTML pages which display content and media that can be accessed via a web browser. The key purpose of a website is often, but not limited to, providing viewers with information about the website’s owner. While this is a useful marketing tool, it doesn’t effectively provide a way for users to communicate or interact with the website.
Web applications, on the other hand, are designed to be fully interactive and provide users with much more functionality than can be expected from a website. Web apps are dynamic, meaning they can display different information depending on the user or their actions, as well as allowing the user to input and manipulate data.
Deciding when to choose a web app over a website will depend on your business goals. If the main goal is just to establish a presence online and provide a way to share information about the company with customers, then a website would be better suited to the job.
If providing users with an enhanced experience or expanded offering forms part of the business goal, then a web app will be a better fit than a website, due to its interactivity and personalized experience.
What is a progressive web app?
A progressive web application is a methodology that involves using a combination of technologies to radically improve a user’s experience when using web apps. Enhancing user experience keeps users on the app for longer, and can also increase the chances of them buying products.
It does this by focusing on four main categories:
- Speed – Progressive web applications need to be fast to provide users with a seamless experience, similar to what they would expect from a native application. Smooth scrolling and fast responses from the web app all contribute to a positive user experience.
- Integration – Progressive web apps can be installed onto a user’s phone and added to the home screen, allowing for faster access to the services a company offers. It also gives the user a familiar experience to what they would expect from a native application by not having to navigate to the browser to access the app.
A progressive web application allows the status and navigation bar to be hidden from the user’s screen, giving them access to full-screen mode and appearing similar to a native application.
Progressive web applications can make use of a technology called the PaymentRequest API too, which helps the browser collect payment information. This allows the user to checkout and make a payment to a website in one click, instead of forcing the user to fill out a tedious form every time they want to make a purchase – which can sometimes lead to greater cart abandonment.
- Reliability – Progressive web apps are considered reliable when they continue working offline or with little network coverage. It does this by using something called a service worker; a service worker acts as a middleman between the user’s device and the server where the data is stored. When the user makes a request to the server, the service worker determines whether the requested data is already stored in the cache, and if it is, it will return that data, giving the user a faster and more reliable experience.
- Engagement – On a mobile device, a push notification is a fundamental part of turning a monthly active user into a daily active user. Until recently, push notifications have been a feature only available to native apps, but with technologies such as the Push and Notification API, push notifications can now be sent to a user’s device from a web app even when the user doesn’t have a web browser open or running. The ability to send notifications to user’s phones allows web apps to become just as engaging as native apps by providing a means to draw the attention of users back into the app.
A great example of this used effectively is the progressive web app by Twitter called Twitter Lite, released in April 2017. This implemented web push notifications that work the same as those from native apps, and arrive even if the user’s browser is closed. The implementation is delivering over 10 million push notifications a day. They also saw a 65% increase in pages per session, a 75% increase in Tweets and a 20% decrease in bounce rates, all while reducing the size of their app by 97%.
By doing those four things, a progressive web app combines the experience users are used to in native applications, with the reach of a web application.
How are mobile apps built?
Mobile apps are built using programming languages. There are many different varieties of programming language, and the one used for your app will depend on the requirements of the application, and also the platform the application will run on.
Mobile apps and React Native
React native provides a feature called ‘Hot Reloading’, which allows developers to see their change on the device/simulator instantaneously. This feature increases the productivity, as in traditional native app development the project would need to be recompiled every time.
Mobile apps and Angular
Angular is a platform and framework developed by Google in 2016. It’s used to develop web applications, and the basic building blocks for the angular framework are components; components allow for web pages to be divided into sections which promote reusability.
Mobile apps and Python
Python is renowned for its simple and easy to ready syntax, which reduces the expenses incurred in maintaining programming maintenance. It favours modules and packages which in return promote modularity and code reusability. Plus, it promotes cross-platform development, making it ideal for mobile applications.
Writing mobile apps without code
It is possible to build mobile applications without code. You can build, design and deploy without writing a single line of code. Platforms like Google’s AppSheet empower anyone in an organisation to build powerful applications for collecting, updating or sharing data effectively.
How are web apps built?
Web apps vs the cloud
We’ve recently seen a growing trend of cloud applications that directly compete against web apps.
A cloud application allows a user to work on their own device wherever they are, with or without a connection to the internet, and then upload or download data when they connect with the cloud – many Google apps like ‘Docs’ offer this functionality.
While sharing the burden of processing between a server and the users’ device offers the benefits of both, this can cause cloud apps to take up more memory than solely web-based apps on a device.
Are web apps just software?
Yes – web apps are software that runs on a remote server instead of a local processor, like the one in your phone or computer. This offers several advantages and disadvantages; on the one hand, it means that the software can be optimised for the server and the server can be much more powerful than your local processors, delivering incredible performance.
On the other, internet connection problems can disrupt communication between the server and your device causing slow-down or suspension of the application.
Mobile app vs web app: What are the pros and cons of mobile apps?
No internet connection required
– Mobile apps will always run no matter your internet connection.
- Security – As there’s no connection between mobile apps and the internet, the security of the apps is much better.
- Performance – Mobile apps are either flexibly developed or developed solely for the device they’re used on, meaning they tend to prioritise a smooth user experience.
- Hardware Limitations – Mobile apps are limited by the hardware they run on.
- Multiple platforms – App developers must either create a flexible solution or develop different apps for different devices and operating systems.
- Storage – Mobile apps take up much more memory than web apps.
- Cost – Mobile apps often require specialist developers, meaning they’re much more expensive to create.
Mobile app vs web app: What are the pros and cons of web apps?
- Flexibility – As long as a device has a compatible browser, it can run a web app flawlessly.
- No limitations – As a server runs the web app, it doesn’t matter how fast the user’s processor is.
- Storage – Web apps require little to no storage space.
- Cost – As any web developer can create a web application, they’re much cheaper to create.
- Internet dependant – Web apps need a stable connection to the internet in order to fully function.
- Security – Because they’re connected to the internet, web apps are more vulnerable to hackers.
Summary: Are apps easy to build?
As mentioned earlier, it is possible to develop an app without writing a single line of code, and with Google’s acquisition of AppSheet, it’s clear that there’s a rising trend in code being built by people without programming experience.
While this is a great way to get started, apps built on these platforms often come with limitations and are not as customizable as the app development experience that can be achieved by partnering with a specialized app developer.
Many elements of the app can go wrong and will require an experienced app developer to understand the issue and find an effective solution. Plus, there’s the whole post-launch experience to consider, such as app store optimization, mobile marketing and performance optmisation to consider. An experienced development team will be able to advise on how best to fuel adoption, as well as purely the build and design.
If you would like to discuss native and web app development as well as the opportunities they offer your business you can contact us here.