Progressive Web Apps Part 4: Variable Connectivity

One reason to prefer building a native mobile App over a progressive web App, has historically been that a mobile App can work (to some extent) without an Internet connection, using cached data. Whereas, websites can only work whilst an Internet connection is present. However, Service Workers have allowed for web Apps to compete with mobile Apps, providing a solution to accessing certain web pages when off-line.

What is a Progressive Web App Service Worker?

A Service Worker is a JavaScript file running separately from the main browser thread which is able to determine how various network requests from a web application are controlled. By caching the results of previous requests, Service Workers allow your App to work with poor or no Internet connection for a specific amount of time.

Another benefit of a Service Worker is that they allow for more advanced platform integration, including the delivery of push notifications and allowing for background synchronisation within a PWA.

The amount of caching time can vary for different types of data. This isn’t a panacea to cure all your connectivity problems. Specific programming will still be frequently required to deal with situations where out of data cannot be used. This may include issue warnings to the user, locking out specific functions until connectivity is restored and other novel solutions.

progressive-web-app-service-worker

Service Workers allow progressive web Apps to work with varying levels of connectivity. However, it’s worth remembering that the level of poor connectivity that an individual App will tolerate depends entirely on the function of the App.

For example, an App that requires up-to-the-second stock prices will be pretty useless without a reliable Internet connection, whereas a stock price trend-reporting tool might be able to work with data that is hours old.

If you are interested in having McKenna Consultants develop your progressive web App, then please fill out the content form below. If you missed the other parts in our progressive web app series, then head back to our first blog, where we discuss installable web Apps. Or, alternatively, you can check out our case studies, to see the previous work we have done for our clients and understand the wealth of experience we have developing progressive web Apps.

Nick McKenna
Since 2004, Nick McKenna, BSc, MBCS Biography has been the CEO of McKenna Consultants. McKenna Consultants is a bespoke software development based in North Yorkshire, specialising in Cloud development, mobile App development, progressive web App development, systems integration and the Internet of Things development. Nick also holds a First Class Degree in Computer Science (BSc) and wrote his first computer program at the age of nine, on a BBC Micro Model B computer. For the last 21 years, Nick has been a professional computer programmer and software architecture. Nick’s technical expertise includes; Net Core, C#, Microsoft Azure, Asp.Net, RESTful web services, eProcurement, Swift, iOS mobile development, Java, Android mobile development, C++, Internet Of Things and more. In addition, Nick is experienced in Agile coaching, training and consultancy, applying modern Agile management techniques to marketing and running McKenna Consultants, as well as the development of software for clients. Nick is a Certified Enterprise Coach (Scrum Alliance), SAFe Program Consultant (SAI), Certified LeSS Practitioner (LeSS) and Certified Scrum@Scale Practitioner. Outside the office, Nick is a professional scuba diver and he holds the rank of Black Belt 5th Dan in Karate.