Menu Close

Should You Build a Progressive Web App?


Should You Build a Progressive Web App?

If you have looked into creating a mobile application, chances are you have wrestled with the question of how to build it.  Should you build for Android, iOS, or both? You may have considered building a hybrid app that can work on both platforms. A final option, and a more recent addition to the mix, is to build a progressive web app or PWA.

A PWA is actually a website because it is accessed through any web browser, but it acts like a mobile app. It is available offline and can be opened from an icon placed on your mobile phone’s home screen.

Before we get into the reason you may opt to build a PWA, let’s first explore all options for building a mobile app:

Native Applications:

A native mobile app is one that is built in the language that is specific to the device’s operating system.  For Apple iOS, that is Objective-C or Swift; for Android it is usually Java. These applications are downloaded from the app store. Native apps will generally provide the best user experience because they use a platform specific user interface and have direct access to the phone’s hardware. This is especially true for apps that involve media or gaming.  But there are a few drawbacks for developing native applications. The main one being it is more expensive because you must develop for both iOS and Android.

Hybrid Applications:

A hybrid application is one developed using web technologies like HTML5, CSS and JavaScript.  They are then packaged in a native wrapper so they can use the phone’s built-in functions, such as the camera, alarms, SMS/texting, and GPS. Like native apps, hybrid apps are downloaded from the app stores. The main advantage of developing using the hybrid model is it will be quicker and less expensive because you only develop one app that works on both iOS and Android. The drawbacks are that they are slower and therefore, the user experience can be poor.  They also often require an internet connection in order to work properly.

Progressive Web Applications:

PWAs are similar to hybrids in that HTML5, CSS, and JavaScript are the languages used, however, the delivery method used is different.  Instead of being downloaded from the app store, a PWA is accessed using the device’s web browser.  An icon can be added to the home screen just like a regular app.  This can be both a benefit and a drawback in the early adoption of PWAs because people are used to finding and download apps in the App Store or Google Play. That may change over time when and if progressive web apps become more widely used and accepted.

Progressive web apps are a product of Google and, until recently, not supported by Apple. But with the release of iOS 11.3, Apple has added support for the basic set of new technologies behind PWAs.

Progressive Web Apps have the following characteristics:

  • Progressive — Work for every user, regardless of browser choice.
  • Responsive — Fit any form factor: desktop, mobile, tablet, or forms yet to emerge.
  • Connectivity independent — Service workers allow work offline or on low-quality networks.
  • App-like — Feel like an app to the user with app-style interactions and navigation.
  • Fresh — Always up-to-date, thanks to the service worker update process.
  • Safe — Served via TLS (a Service Worker requirement) to prevent snooping.
  • Discoverable — Are identifiable as “applications” thanks to W3C manifests[6] and service worker registration scope allowing search engines to find them.
  • Re-engageable — Make re-engagement easy through features like push notifications.
  • Installable — Allow users to “keep” apps they find most useful on their home screen without the hassle of an app store.
  • Linkable — Easily shared via a URL and do not require complex installation.

Of course, when you can build an app once and have it work on all devices, and when updates need only to happen to one set-up code, the cost for development using PWAs is much lower than developing native apps for both iOS and Android. And because the use of Service Workers allows the app to be used offline,  be more reliable than hybrid apps, and have better, faster performance, PWAs are a very attractive alternative to hybrids.   Therefore, in theory, Progressive Web Apps are the answer to many mobile app issues and eventually may overtake native applications and hybrids as the preferred platform.

In summary, which method you choose will greatly depend on what your application needs to do. If you are building a game or media app, you’ll want to stick with native. The Hybrid model may be a good solution for very simple applications and if you want to market your app through the app stores. But if you are building a business application, a PWA may be the best option for a few reasons. First, they work on all devices and in all browsers, so you can build a single app to work as a website and as a mobile application. They can be found by internet searches and do not need to be downloaded from an app store.  PWAs are more easily updateable than native mobile applications.  With the adoption of Apple, eventually, they may be the answer to many app development woes. Time will tell.