Published on

Why is it so hard to create PWA with Next.js?


Creating a Progressive Web App (PWA) with Next.js has not always been a smooth experience. In this post, we'll discuss the challenges developers faced in the past, the emergence of the next-pwa plugin, and the exciting future with the @imbios/next-pwa package.

Several Years Ago

Several years ago, creating a PWA with Next.js from scratch was quite challenging. Developers had to deal with a steep learning curve and manually configure various aspects of the PWA, such as service workers, caching strategies, and offline support. These complexities made it difficult for developers to create high-quality PWAs quickly and efficiently.

I 💖 next-pwa

When I first discovered the next-pwa plugin, it was a game-changer. This plugin simplified the process of creating PWAs with Next.js by providing a zero-config solution, making it much more accessible. I personally used it in the ImBIOS/cardus-app project and fell in love with its ease of use and powerful features.

appDir is The Game Changer

With the release of Next.js 13, a beta feature called appDir was introduced in 2022. This feature is an adoption of React 18's Server Components and represents a significant step forward for Next.js development. It streamlines the process of creating dynamic web apps and opens up new possibilities for developers.

I Should Take Action

Unfortunately, the last update to the next-pwa plugin was 8 months ago, and its maintainer has been inactive since then. This situation left developers in need of a solution that is compatible with the latest Next.js features, like appDir.

@imbios/next-pwa is The Solution

I made the difficult decision to resurrect the next-pwa plugin and republish it under a new package called @imbios/next-pwa. This updated package will ensure compatibility with the latest Next.js features and provide continued support for developers looking to create PWAs using Next.js.

In conclusion, while creating PWAs with Next.js was once a daunting task, the emergence of next-pwa and now @imbios/next-pwa has made the process more accessible and efficient. With ongoing support and compatibility with the latest Next.js features, developers can look forward to a bright future in PWA development.

Check the repo here: