Blog post image

Are PWAs the future of Sustainable Web Development?

Progressive Web Applications

PWAs are web applications that use modern web capabilities to provide a user experience similar to that of native mobile applications. It can run in a browser but also as a desktop/mobile app using a browser engine. It can work offline, can send push notifications and looks as native as possible. And all of them are built using well-known web technology, such as HTML, CSS, and JavaScript, which makes them easy to develop and maintain. All you need in one place.

This idea is almost as old as the iPhone. It was Steve Jobs himself who back in 2007 introduced a new way of creating applications that “look exactly and behave exactly like native apps”. After almost 8 years, Google introduced "Progressive Web Apps" and since then, more and more large and small companies launch their applications as PWAs, with Google and Microsoft in the first line. In fact, PWA are already listed in Microsoft Store and they are “first-class app citizens in Windows”.

PWA is more a concept or approach of the design rather than just one technology. It combines some criterias that web apps should follow to be defined as PWA, such as installable or re-engageable, so it can send push notifications. MDN has already compiled a list of all of these indicators and I would like to encourage you to check the documentation about this.

PWA is better

PWA has a lot to offer compared to native applications. It is easier and much cheaper to develop and maintain because the backbone technology is well known. And must be built only once for all devices, regardless of the operating system. It is also easier to share (just sending a URL), the content can be found in google or other search engines which means that it can be positioned using SEO techniques. PWA is also quite secure due to all the advantages of HTTPS, and it is much easier to ensure the origin or application as its URL should match the domain of the website.

PWA is more accessible

By using a progressive enhancement strategy, the core content should continue to work in older browsers. This is more stable and SEO friendly. But above all, it is available to all Internet users, regardless of their device and browser. Using techniques such as externally linked CSS and JavaScript, or providing fallback solutions for web fonts or images, helps to get basic functionality available to anyone. All this combined with a responsive design makes PWA available for almost every internet client.

PWA is faster

By using PRPL patterns (pushing, rendering, pre-caching and lazy loading) the initial load time is maximally optimized, allowing quick access to applications on low-end devices and in areas with poor internet connections. However, just after the first visit PWA has almost instantaneous loading. Thanks to Service Workers API, Cache API and combination with client-side data storage technologies, PWA greatly reduces data transfer, saving resources on the device and creating a true offline experience.

PWA is smaller

The real deal is the size and data usage. PWAs are built using standard web technologies such as HTML, CSS, and JavaScript, which are typically smaller and more efficient than the technologies used to build native applications. And by only updating content that has changed, PWAs do not force users to download the entire application, as is usually the case with native apps. Twitter Lite (a PWA version) is only around 3% of the size of the official native app and reduces data usage up to 70%Starbucks confirmed that their PWA is 99.84% smaller than their iOS app! These differences are huge!

PWA is sustainable

Who wouldn't want a fast and lightweight mobile app that works in the middle of nowhere and on every smartphone (even an old Microsoft Lumia 950 or an ‘almost vintage’ BlackBerry)? Of course, PWA has some limitations compared to native applications and can not always be treated as an alternative, but it’s a very good approach.

These techniques, such as lazy loading, responsive design and progressive enhancement, are nothing new or magical and are used in the design and development of modern websites. But combined with network independence and offline abilities, makes PWA truly sustainable.

As technology continues to evolve and improve, it is clear that PWAs will play a key role in the future of web development. By adopting this technology, we can build a more sustainable future for the networks and the businesses that rely on it.