How Progressive Web Apps Make App Development Viable
It’s fairly common knowledge that web and mobile technology is currently advancing faster than at any other time in history. When done right, businesses can embrace these advancements to develop in-house apps that open up additional income streams, or help them to innovate ahead of the competition.
Yet the costs to developing even a simple app are far more than the common small or medium size business can afford. Luckily, a new technological offering has come of age and is helping businesses gain a foothold in the digital landscape.
Progressive Web Apps
The Progressive Web App (PWA) is an evolution of the traditional web application. They have evolved to assume characteristics and qualities of mobile apps, providing users with an experience similar to that of an app downloaded through an app store. Previously this was impossible, but with the help of the mobile device platforms such as iOS and Android, support for PWAs has hit the mainstream.
PWAs can leverage device features that would have normally only been available to a mobile app. They can access features such as:
- push notifications,
- offline storage,
- accelerometer and many more.
They can also be saved as a tile on a user’s home screen, blurring the line even further between them and traditional mobile apps. In addition, they inherit all the benefits of a web application, including easy updates and browser support.
PWAs are admittedly not the silver bullet when it comes to application development. Although both iOS and Android have shown support for them, there are some limitations.
Also, not all device features are supported, such as Biosecurity, Contact lists and Bluetooth.
However, even with these limitations, PWAs may be a viable option for your needs.
Keeping costs down
Traditional mobile app development sees the need for the same app to be developed separately for each platform it is released on. Native app development, as it is called, requires that an app is coded using the native language of the mobile platform — Objective C or Swift for iOS and Java for Android. What this ultimately means is that when you’re committing to an app development project, you’re actually committing to multiple builds — one per platform.
Additionally, any new features that will be rolled out after the launch will need to be coded more than once. This applies for the entire duration of the app’s lifetime. So money-wise, your costs will be far greater than if you had only needed to code the app once.
This is where PWAs shine. A PWA is built just once in the native language of the web. Serving your app from the one codebase significantly reduces the cost of the first release, and any subsequent feature release. And these lower costs in development mean that you will have more funding left over for additional features — allowing you to ultimately offer more value to your users at a lower cost.
Faster delivery and feature releases
Complementing PWAs’ single codebase is the speed at which new features can be delivered.
Because PWAs are served via the web and not via an app store, deployments can happen almost instantaneously. There is no need to wait for an app to be reviewed by the App Store or Google Play — something that can take days if not weeks.
Advances in technology have also made it possible to automate the entire code deployment process, thereby drastically reducing the time it takes to make updates to an existing app. Also, if any critical issues occur which prevent the app from operating properly, they can be resolved much faster than with traditional native app development.
PWAs are supported out-of-the-box by the latest version of iOS, Android and Windows Mobile. This means that the one codebase can, by default, support an extensive set of device types. Contrast this with traditional mobile apps, where the app must be coded and released separately per platform, and we find that accessibility is significantly reduced.
It’s also important to remember that a PWA is still a web application at its core. This means that in addition to mobile device support, the app can still be accessed via a traditional web browser on a desktop device.
A concept called Responsive Design allows for the layout of the application to adjust according to the width of the device the app is being viewed with. This allows for the app layout to be optimised for viewing regardless of the device type.
What it means to be progressive
Web technology has evolved to a stage where PWAs can leverage the methods of Progressive Enhancement (PE) and Graceful Degradation (GD) to deliver an app-like experience that is optimised for the capabilities of the user’s device. These methods enable and disable features and adjust the user experience in accordance with their device capability.
There are specific development conditions that must be factored into PWA builds to enable the native device to recognise it as a PWA. Google provide a helpful checklist to ensure these conditions are met.
Feature support for PWAs has improved significantly in recent years, pathing the way for PWAs to become a viable option for application development. Support is improving every year, and a list of supported features can be viewed at WhatWebCanDo.Today.
PWAs provide some fantastic benefits over traditional app development methods. Costs can potentially be greatly reduced, depending on the platforms you need to cater for. The time taken to develop and release new features is significantly reduced by maintaining only one codebase. Lastly, accessibility is significantly improved due to the ability to serve the app from the web — expanding your potential audience significantly.
For apps that do not need a high level of native device feature integration, a PWA is a great option. Platform support and the list of available device features open to PWAs is improving every year. And at the rate technology is moving, the capabilities of PWAs will continue to catch up to that of traditional mobile development at an exponential rate.
Originally published at https://denimdev.com.au on April 7, 2021.