Power your Progressive Web Apps with Mobile Foundation and Node.js Runtime on IBM Cloud
Srihari Kulkarni December 02, 2019MobileFirst_Foundation Mobile_Foundation_Service IBM_Cloud Progressive_Web_Apps Node.js
Progressive web apps - this is a term that we hear more often in recent times. What is a Progressive Web Apps or PWA in short ?
- Is it a new type of mobile apps ? No.
- Is it an app or website built using a new framework ? No.
- Is it a new industry standard or technology ? No.
Progressive Web Apps is a new approach of developing web apps using existing technologies, making use of existing standards such as HTML5 and browser capabilities to make web apps more user friendly in a multi-channel (desktop, tablet, mobile) world.
More specifically, progressive web apps are required to be:
- Responsive - adapt the UI to different form factors such as desktop, tablet, & mobile.
- Fast - load faster than a normal web app by loading cached web resources.
- Network resilient - PWAs should load atleast the home page when the device is offline and be resilient to network conditions by caching data when it is available.
The above list provides a picture of how PWAs are different from a traditional web app. The list is by no means a comprehensive one, however, you can see the complete checklist for PWAs here.
Your own PWA with IBM Mobile Foundation on IBM Cloud
In the following video, you will see how to host a mobile web app using the SDK for Node.js on IBM Cloud. The Node.js app itself will host the web content and will integrate with a Mobile Foundation service for security, backend connectivity and user management.
At the heart of a PWA is the concept of a service worker. In this video, you’ll also see how to add a service worker to your web app and how the service worker will equip your web app with offline capabilities.
You can use this video as a starting point and build your web application to include more progressive web app features. Download the complete source code of the project demonstrated here.
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.