When I joined Bowdark one of the first things I heard about was Progressive Web Apps (PWA). I was new to this topic, maybe you are as well. I’m surrounded at work by some talented people who have taken me under their wing, so to say, and taught me the PWA basics. I want to share some of the first things I discovered about PWAs and what they can add to your Fiori project.

At first I was thinking, this is like a library or framework, similar to SAPUI5 or React. I was wrong, it’s more a pattern or technique of using functionality your web browser provides. So what are these browser functions, you might ask?
First, it’s installable, so it can be available at your devices home screen or app launcher. Second, it can work offline or in poor connections. There are others like receiving push notifications, being safe in only using secure connections (https), and being responsive — which most people in Fiori are used to by now.
At the foundation of PWA applications are the Service Worker, a manifest and the IndexedDB.

SAPUI5 + PWA = Offline Fiori
The Service Worker is a proxy between your application and the outside world. This is where you can divert calls or responses to store/retrieve from a local storage.
The manifest describes your application and makes it discoverable and installable. You can provide the name, an icon and other information supporting its installation.
IndexedDB is a persistent storage in the browser where you can store assets and data for your application. This allows you to retrieve from it for quicker responses and offline support.
What can you do with this power? Well, you can enable your users to install a Fiori app to their device with no middleman. The option to install comes up right in the browser. With that install you can make sure they have all the files needed for the application to run if they go offline. Another nice piece about PWA’s is when you update your application, the users version is updated as soon as they open it again while online.
Can you do transactions offline? Yes. Now it does take more work to ensure you have downloaded all necessary data to support the user while offline, but you can save their work in IndexedDB. Then at a later time you can push that to your SAP service.
So what are some scenarios where PWA’s make sense?
If your users are in an area with poor internet while performing work to record in SAP. Instead of using paper or recording the information in some temporary spreadsheet, you could make a PWA Fiori app for them to record the data while offline and save them from double entry work.
Create a more native app experience. PWA’s can be installed, display a splash screen when loading and hide some of the browser like the URL bar.
I’m staying high-level on the details of how PWA’s work, but the point is to just introduce what it’s about. I was happily making Fiori applications and not aware this was out there. Now I know and it’s opened up a new world of learning and providing users new functionality.
So now that you know, what are you going to do next? Here are a few resources to start with:


