Hands_Work_on_tablet-and_mobile_phone

What is a progressive web app?

Progressive Web Apps (PWA for short) are in the Web frontend area the buzzword of 2018. To be more precise, the term progressive web app for several years now. However, many people are still unclear about what this means. Responsive web apps are often associated with it - but how are these two paradigms related? And which technologies are required for progressive web apps? I would like to answer these and other questions in this article.

As Arguments for native apps are usually a better choice than web apps. better performance and the possibility to Use of native functions such as camera, GPS sensor, etc. However, with increasingly powerful hardware and the expansion of the W3C specification (HTML 5.3) to connect native functions, these two points of argument will soon become null and void. The native and web worlds are finally merging.

Features of a progressive web app

Progressive web apps have exactly this Merging the native and web worlds The goal: the user should no longer be able to distinguish a web-based app from a native one. There are various features that a progressive web app must fulfill to achieve this should:

  • Offline functionality: The web app itself should also work without an Internet connection, i.e. the user should never see a browser error (404 - No Internet connection)
  • Push notifications: The user should receive notifications proactively
  • Add-To-Homescreen Feature: The web app should be able to be added to the home screen of the smartphone and thus enable access as on a native app
  • Use of native functions: No restriction on native functions compared to native apps
  • Repsponsive design: The design should adapt to the respective end device and resolution

 

If a mobile app is created after the progressive web app paradigm designed and developedthe above-mentioned features should be fulfilled from the user's point of view. To do this, the developer must use technologies such as HTML5 Local Storage for caching, a Webapp manifest filewhich enables the Add-To-Homescreen feature, or a Service Worker use. A Service Worker is a JavaScript program that can be used as client-side proxy between your own web app and the Internet. Here, for example, the offline functionalities be implemented. A detailed list of all Technical requirements for a progressive web app Google has published a Progressive Web App Checklist published. The second point on the checklist already answers the question of the responsive design. A progressive web app must also be responsive. It can be deduced from this that progressive web apps are the next evolutionary stage in the development of web apps are. This is also shown by the global search volume for the two buzzwords.

Finally, it must be mentioned that the technologies provided, such as the Webapp manifest file of course only work if the respective The user's browser also support them. In this specific example, Microsoft does not support the Web App Manifest file with either Internet Explorer 11 or the current Edge browser. Mozilla is also still waiting with Firefox and the implementation of the feature. Apple, on the other hand, supports the "Getting started" with progressive web apps. At this point, one can only hope that soon all browsers the - primarily defined by Google - Support standards for progressive web apps. Perhaps this will make the installation of native apps largely superfluous and progressive web apps can be used as Establishing a standard for mobile apps.

Tip: how "progressive" your web app already is today can be measured with the Lighthouse Plugin for Google Chrome.

Web App Manifesto


Imageqouelle: caniuse.com/#feat=web-app-manifest

Markus Wingler

About ME

Markus Wingler is a Senior Software Developer, specialist team leader for "Fullstack JavaScript Applications" and has been working at doubleSlash since 2010. After successfully completing his training as an application developer, he studied Applied Computer Science (B. Sc.) at the DHBW Stuttgart. His many years of experience have made him an expert in the development and design of modern Web applications in the B2B environment. He also specializes in the field of mobile apps. He is particularly enthusiastic about new technologies and trends in the mobile and web sector.

All contributions from Markus Wingler

Learn more

Further information on our website and in our newsletter

Arrow up