A Progressive Intro into Web Apps

David McIntosh
4 min readJul 7, 2019

This article is not meant to introduce you to the fantastic capabilities of web applications. If it were, it would be a few years too late. Web application are nothing new. They have been around for quite some time now and are one of the main ways we interact on the internet. Even now, while you’re reading this, you’re using the Medium web app. Rather, let’s engage with what it means to be a “progressive” web app.

What IS a Progressive Web App?

A Progressive Web App (PWA) is a web application, delivered over the web, that looks and feels like a mobile or native application. It’s common to mistake this for a responsive web app, which only looks like a mobile application when rendered on a mobile device, however a PWA does more than simply “look” like a mobile app. A PWA offers access to native functionality normally associated with mobile applications, such as push notifications, the camera, fingerprint capability, offline access and more. PWAs can even be launched via the mobile device’s home screen, making them as easily-accessible as mobile apps.

Why Go Progressive?

By now you might be thinking that a PWA is just a watered-down copy of a mobile/native app. Why, then, would you prefer to make a PWA instead of a full-fledged mobile application? Well, for one, building a mobile/native application often means taking on an entirely different codebase. You would need to develop an app in either Objective C, Java or Swift, and maintain a separate codebase. Similarly, any features you intend to implement on both your web and mobile apps would mean two separate development processes. Not only is this time-consuming, but it might not even be feasible for smaller companies. Building a PWA means making incremental changes to the codebase of your existing web application. Since a PWA is still just a web app, written in HTML, CSS and JavaScript, you would be maintaining a single codebase. Also, any features meant to work on both the web and mobile would require only a single round of development. Launching a mobile app, intended for use on both Android and iOS devices, also means having to register the app on Google Play and the App Store. This can be a daunting process, as it means that changes made to your application cannot be automatically launched to the public, as they must first be accepted by the team at Google and Apple. Launching a PWA, which is a web app, means changes made are easier to apply, as there is no third-party involved.

According to ComScore’s 2015 Mobile App Report, the average new mobile apps downloaded per month is 0 (zero). That’s not a typo. Think about it. In the last month, how many brand new apps have you downloaded to your mobile device? Chances are, the only time you download a new app, is when you’re migrating to a new mobile device. In those cases, you only ever download the same apps you had on your previous device. Based on these statistics, it is incredibly hard for newer apps to make it, as the report also states that users spend most of their time in the top 3 apps. These top 3 apps are likely Facebook, Instagram and WhatsApp; not your mobile app. The report does show, however, that people spend much more time using native apps than on the mobile web. This makes sense. Since mobile apps are available from the device’s home screen, they are easier to launch than having to perform a Google search for a web app. They also look and feel much nicer. The mobile web, however, still has more total users than mobile apps. This means that, while people spend more time using native apps, there are still more people who visit the mobile web, even if for a short time. With a PWA, we combine the accessibility and native features of a mobile app with the great reach of a web app.

It’s More About The Journey Than The Destination

Whether building a PWA from scratch, or transforming an existing web app into a progressive web app, remember that it’s more about the journey than it is about the destination. It’s not an all-or-nothing approach. Progressive means you are moving towards something. You can slowly, progressively, enhance your web application so that it becomes a PWA over time. You can incrementally modify the app so that it has some of the features that would categorize it as a PWA, such as:

  1. The ability to be added to the user’s home screen.
  2. Offline Access.
  3. Camera Access.
  4. Fingerprint Access.
  5. Push Notifications.

This process of progressively adding features to a web app so that it slowly begins to look and feel like a mobile/native app is referred to as Progressive Enhancement, which will be discussed in future articles.

Read more about PWAs and what they can do here: https://developers.google.com/web/progressive-web-apps/

--

--

David McIntosh

Interested in Computer Science, education and world domination.