What is a progressive web app (PWA)?
More and more, we use our tablet or phone for things we used to flip open the laptop for or even boot up the desktop PC. This development brings nice challenges and opportunities for us as developers. For instance, we need to make applications workable on the relatively small screens, but we also see new opportunities by making direct use of camera or GPS functionality, for instance.
Enter the conversation with Koen!
Piece of history
The above development was initially addressed mainly by developing native apps. These are apps, downloadable from the various app stores, which are written in the 'language' of the phone. If you wanted to release an app for iOS and Android, for instance, you were programming in two different languages. Quite time-consuming therefore, also when releasing updates.
This is where hybrid apps came into the picture. These apps are developed with web technologies and use a single code base. That means you develop the app in one language and then convert it to a phone-based format. Also, these apps are downloadable through the app store and thus have a less time-intensive way of development. This while still being able to use the same functionalities of the phone.
Progressive web apps
Now we are at the point where we can use web technologies to provide an app experience to users without them having to install anything. These are progressive web apps (PWA). A PWA is a mobile website with a native user experience, i.e. it functions like an app. So the user does not have the idea that a mobile website is loading, while in the background it is. The advantage is that no installation via an app store is required. Also, developing and updating the application is much less complex.
Progressive web apps work fine in most older browsers, while also being able to make use of new features. Think, for instance, of addressing components on the tablet/phone such as the camera, GPS or NFC chip. Furthermore, a PWA can work offline, update itself in the background and send push notifications to users. With this, the difference between progressive web apps and native apps is getting smaller and smaller. As a result, a native app offers less and less added value.