The secret future of web: Progressive Web Apps

- June 28, 2018 3 MIN READ

One of the common strategies for improving engagement with your audience is to release an interactive, native app for their mobile devices. Indeed, most people will happily head over to Google Play or Apple’s App Store and start searching. While there’s nothing wrong with providing an app in this way, it may not be your best option. So let’s take a look at Progressive Web Apps (PWA) as an alternative.

The negatives of developing native apps

Without going into too much detail, there are a number of disadvantages to developing native apps.

  • expense—development is a lot more expensive because it requires skilled programmers.
  • smaller reach—unless you are a well-established business you may only get a few dozen installs. Also, people might not be motivated enough to bother installing it.
  • not cross-platform—each platform requires its own app. That means in most cases you will need to develop separate apps for Android and iPhones.
  • platform updates—each major release of a mobile operating system (OS) may require your app to be updated, repackaged, and redistributed.
  • not always update-friendly—the same applies for small improvements and bug fixes. Each change requires releasing a new version.
  • privacy and security—after the Cambridge Analytica/Facebook scandal, people are wary about installing apps, especially when they ask for unnecessary permissions!
  • storage space—native apps eat into your device’s limited storage.

Introducing Progressive Web Apps (PWA)

For many small enterprises, PWAs are a much better alternative. In a nutshell, you can think of them as single web pages that mimic the interactivity and interfaces of native apps. Because they are based on modern HTML5 web technologies, development costs are reduced significantly:

  • truly cross-platform—it’ll work on all operating systems so no one in your audience need be excluded. If your user’s device can run a modern browser, they can use the app: Android, iPhone, Macs, Windows, Linux, and so on.
  • responsive—the interface can adapt to any screen size: smartphones, tablets, laptops, and HD desktop monitors.
  • no installation necessary—they’ll even work offline by harnessing the power of your browser’s persistent storage capabilities.
  • easier updates—frequent improvements to your PWA are effortless because you only need to update the server. No more packaging and distribution.
  • improved speed and security—because modern browsers have so much work done on optimising them, your app is isolated from the rest of the operating system (sandboxed), can actually run faster than a native app, and still has access to push notifications to keep your user informed of notices.

So how do you get started?

There are a few important decisions to make before you get started. For example, if you are yet to develop your main website why not combine it with the app and do both together? The distinction between websites and web apps is blurry because they can easily be one and the same—all that differs is how much interactivity you provide and the way you implement your interface. In that sense, there isn’t much difference between an interactive website and a progressive web app.

The next step is to decide upon which platform you wish to use. If you are more technically inclined you can build the entire website and PWA using pure HTML5, Javascript, and CSS (stylesheets). In fact, the growth in this area has been so significant in recent years that Javascript now has countless frameworks you can use for free. These make developing awesome interfaces and interactive experiences much easier and more powerful. The big three are Angular, React, and Vue.js.

If you don’t have the time or expertise to build your solution the above way you can also harness the power of web platforms or content management systems (CMS). Now, it is important to understand that here we are taking a looser definition of web apps—it’s any server-side platform that can provide interactivity and an app-like experience. Some are more flexible than others but most can be extended by the use of add-ons.  All that differentiates them is the degree to which you can shape their interfaces, and that improves with each major platform release.

Start by looking at the some of the big names to see if any of them offer the kind of experience you’d like to give: WordPress, Drupal, Joomla, and Django