Friday, August 20, 2021

Hello PWA!

 About 20 years after the advent of the World Wide Web Google presented a new concept of web application: the PWA. This young cousin of the classic web applications has more capabilities than an ordinary website, but its access to features originally reserved to native applications is limited by the host OS.

The "cross platform and cross browser" characterization is not realistic for any kind of software application, not even for static websites. And more power comes with more responsibility: the PWA programmer has to elaborate a cache management strategy, has to get familiar with IndexedDB or one of its wrappers, has to keep in mind that LocalStorage and SessionStorage cannot be accessed by the ServiceWorker, and implementing certain features on Apple devices is not a walk in the park, or it's not possible at all.

Developing and maintaining a PWA is more demanding than working with a web application - that's why I've avoided so far to try out this genre. Now, after learning more about the subject matter I  understand that the automated services offered for converting websites into PWAs might generate app icons, splash screens, error pages, a manifest, and some broilerplate code for the ServiceWorker - which eventually won't error out from start, but JS code development and refactoring are needed to get it right.

The evolution of browsers and operating systems is going against hybrid apps - programmers using Ionic or similar tools are pushed to diversify their knowledge bases. The general tendency of the software giants to improve support for PWAs, and the spreading of PWAs as website replacements are pushing web developers to get familiar with this technology.

PWAs have been designed to enhance the user experience, and the designer's vision has met the user's real needs.


No comments:

Post a Comment