It’s probably a safe bet you’re familiar with native mobile app’s – apps developed specifically for either an iOS or Android device. The majority of apps used on a mobile device is a native app. However, there are other apps that run on your mobile device; web-based apps. With web-based apps, instead of going to either Apple or Google’s app store and installing an app, you simply use your device’s browser and enter the apps web address (or click on the app’s icon on your home screen). Historically, web-based apps haven’t been too successful in delivering the rich features found in native web apps. But that’s changing, fast…
Progressive Web Apps (PWA) basically took browser technology and gave it a technology “boost”, enabling web-apps to feel more like native mobile apps. Below is a list of PWA characteristics from the PWA Wiki.
- Progressive – Work for every user, regardless of browser choice because they’re built with progressive enhancement as a core tenet.
- 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 HTTPS to prevent snooping and ensure content hasn’t been tampered with.
- Discoverable – Are identifiable as “applications” thanks to W3C manifests 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.
Those who follow my blog know I’m a proponent of using bubble.is for web app development. If you look at this list of PWA characteristics, bubble “checks the box” on most of these items. The biggest exception is probably the Connectivity independent characteristic because bubble currently requires connection to the net (wifi or cellular) for apps to work. However, when you look at developing an app, you need to ask yourself how often your users won’t be connected to the net, especially if you’re developing a business-centric app. Look at the apps you use on a regular basis, i.e. Facebook, Twitter, Waze, etc. You need net connectivity to get value out of them. Most likely, your users are always connected so not being Connectivity independent is probably not a big deal.