A Progressive Web App can be great. It is fast by default, it prompts for an Add to the Home screen action, it possibly utilizes push notifications to increase re-engagement, it can work offline and be network resilient. It is incredibly integrated in the host environment (typically, Android). But it can also be somewhere in between.
It’s not something you either do or you don’t. It’s not an architecture or a technology you need to first learn, then experiment with, then fully adopt. It is just an umbrella term to help referring to a group of features and best practices that ultimately allow to deliver The Next Generation of The Web™.
To all the web developers out there, know this: you can gradually opt in. Progressive Enhancement doesn’t only imply browser support and graceful degradation. It also means that you can enhance the experience progressively, as you and your product grow together.
You don’t need a comprehensive Service Worker, you can just start with adding some caching strategy and you would already improve the experience for your users by a lot!
You don’t need to switch to the PRPL pattern throughout the whole app at once, rebuilding it from the ground up. You can lazy load parts of a feature you’re developing and work from there.
You don’t need to add a perfect manifest and enable the Add to the Home screen dialog. You can just start with a theme color and some icons and add the other pieces in another moment (or never!)
I am insisting on this point because I am afraid that so many fellow developers are being on the fence for they suppose it is going to be a fundamental shift for both their projects and their skills. But it doesn’t need to be that painful. You can start experimenting with any of the new features (or proposed patterns!) and deploying them in production even if they are at an embryonic stage!
Let’s start moving the Web forward a little bit faster. Today, as you work on your product, consider adopting one of the new aspects that PWAs are so popular for. Let’s make the Web better already.
If you’ve found this post useful at all, press the ❤ button! I read each and every comment, so be sure to contribute to the conversation with your thoughts!