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 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.
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’re 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 updatable than mobile applications.
What is Required To Be Considered a Progressive Web App:
- Progressive - Work for every user, regardless of browser choice, because they are built with progressive enhancement as a core tenet.
- Responsive - Fit any form factor, desktop, mobile, tablet, or whatever is next.
- Connectivity independent - Enhanced with service workers to work offline or on low quality networks.
- App-like - Use the app-shell model to provide app-style navigation and interactions.
- Fresh - Always up-to-date thanks to the service worker update process.
- Safe - Served via HTTPS to prevent snooping and ensure content has not 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 share via URL and not require complex installation.