A progressive web app is a website which installs and behaves like an app. A PWA offers a home screen icon, its own window, offline use and push notifications. In 2026, one PWA codebase built with Next.js runs on Android, Windows, macOS and iPhone. Phones carry most web traffic: according to StatCounter, 64.97% of Dutch and 59.85% of German web traffic came from a phone in September 2026. A PWA costs far less than two native apps. For example, VirtuoLab gives an indication of €5,000 to €25,000 for a web app, against €40,000 to €120,000 for native apps. There are two limits. First, hardware access such as Bluetooth and NFC is limited. Second, a PWA gets no automatic App Store listing. Step 1 is one question: does the app need hardware or store visibility beyond the web?
What is a progressive web app?
A progressive web app is a website built with standard web technology, offering the experience of an installed app. The term goes back to an article by Alex Russell from June 2015. A PWA, according to MDN, "can be installed on the device, can operate while offline and in the background, and can integrate with the device". In 2026, three building blocks turn a website into a PWA. First, the site runs over HTTPS. Second, a web app manifest describes the name, icons, colours and display mode of the app. Third, a service worker sits between the app and the network, so the app can cache files, work offline and receive push messages. Users install a PWA straight from the browser, without an app store. In practice, a PWA is a web app with an extra layer, not a separate product. A project built with Next.js defines the manifest in a single app/manifest.ts file.
What are the benefits of a PWA?
The main benefit of a PWA is one codebase which reaches every platform through the browser. First, the same code runs on Android, iPhone, Windows and macOS, so there is one product to build, test and maintain. Second, updates go live immediately, because no App Store review sits between a fix and the user. Instant updates without app store approval are a core PWA benefit, according to Next.js documentation. Third, every screen has a URL, so Google can index the content and customers can share a link. Additionally, a PWA has no store fees. In 2026, Apple charges €99 per year for the developer program, and Google Play charges a one-time fee of €25. Installation is also light, because a PWA needs no large download from a store. For example, a customer portal built with Next.js becomes installable on every device as soon as the manifest and service worker are live.
What are the limits of a PWA compared with a native app?
The main limit of a PWA is restricted access to device hardware and operating system features. First, camera, location and push notifications work in modern browsers, but Bluetooth and NFC do not work everywhere. Because both APIs fail in some of the most widely used browsers, MDN marks Web Bluetooth and Web NFC as experimental in 2026. Second, a PWA has no automatic presence in the App Store or Google Play, where many people search for apps. Third, heavy 3D graphics, games and long background tasks still run better as native code. Additionally, Apple requires App Store apps to offer more than a repackaged website, according to guideline 4.2 of the App Store Review Guidelines. In practice, a cross-platform app with React Native or Flutter is the better choice when Bluetooth hardware, in-app purchases or store visibility are essential.
How well do PWAs work on iPhone in 2026?
The iPhone is a much better platform for PWAs in 2026 than a few years ago. Home Screen web apps can request push permission since iOS and iPadOS 16.4 in 2023, according to WebKit at Apple. The request must follow a direct user action, such as a tap on a subscribe button. Apple went further in 2025. With iOS 26, every website added to the Home Screen now opens as a web app by default, even without a manifest. One hurdle remains. Safari on iOS does not support the beforeinstallprompt event, so a PWA cannot trigger installation from its own button on iPhone. The Next.js documentation therefore recommends a short instruction for iOS users: tap Share, then Add to Home Screen. In practice, an install hint helps iPhone users who install a web app through Safari for the first time.
How do PWA, cross-platform and native apps compare?
The table compares the three routes on the points that decide most projects.
Which projects suit a PWA best?
A PWA is the right choice when users arrive through Google or a link, and when the app mainly shows and collects information. First, a customer portal for orders, invoices and tickets works well, because customers open the portal from an email link. Second, a booking or appointment tool benefits from instant updates and a home screen icon for returning users. Third, a field service app for technicians can store forms locally and send them once the connection returns. Additionally, internal dashboards and planning tools fit, for example a planning board which staff use on a laptop and a phone. Finally, an MVP fits well, because a startup can test demand with one codebase before paying for two native apps at €40,000 to €120,000. In 2026, the deciding question is simple: does the app need hardware or store visibility which the web cannot offer?
What does a PWA cost in 2026?
A PWA is technically a web app, so web app prices are the best reference. VirtuoLab gives an indication of €5,000 to €10,000 for a simple web app in 3 to 6 weeks. A medium-sized web app costs €10,000 to €25,000 and takes 6 to 12 weeks. The PWA layer itself, with a manifest, a service worker and push notifications, adds limited work to a well-built web app. For comparison, an app for both platforms with React Native or Flutter costs €15,000 to €60,000. Two native apps for iOS and Android cost €40,000 to €120,000. Additionally, in 2026 store accounts add €99 per year at Apple and €25 once at Google, while a PWA needs neither. In practice, VirtuoLab agrees a fixed price in advance, after a free introductory call. Hosting costs equal the hosting of a normal web app.
How do you build a PWA with Next.js?
Building a PWA with Next.js takes five steps on top of a normal web app. Step 1 is the web app manifest: an app/manifest.ts file with a name, icons of 192 and 512 pixels, a start URL and a display mode. Step 2 is HTTPS, which every installable PWA requires. Step 3 is a service worker; the Next.js documentation points to Serwist for full offline caching. Step 4 is web push, with VAPID keys and a server action that sends notifications. Step 5 is testing on real devices: Chrome on Android, Safari on iPhone and a desktop browser. Chrome also expects, according to Google's install criteria, a click on the page and at least 30 seconds of use before an install prompt appears. In practice, offline behaviour and push notifications need the most testing time.
Frequently asked questions
Can a PWA be published in the App Store or Google Play?
Yes, a PWA can reach Google Play, but the App Store route is harder. First, on Android, a Trusted Web Activity opens the PWA inside a thin Android app. The Bubblewrap tool from Google then generates the project for Google Play. Second, on iPhone, a native wrapper built with Capacitor is needed. Apple guideline 4.2 asks for apps which "elevate" beyond a repackaged website, so a plain wrapped website risks rejection. In practice, a PWA for the App Store needs native extras, such as push integration or device features. Store accounts cost €99 per year at Apple and €25 once at Google in 2026. Google Play also asks new personal developer accounts, created after 13 November 2023, to run a closed test before release. The closed test needs 12 testers for 14 days. For many business apps, distribution through a link and the Home Screen is enough.
Does a PWA work offline?
Yes, a PWA works offline for every screen and file the service worker has cached. The first visit always needs a connection, because the service worker installs during the first visit. Afterwards, cached pages, styles and data open without a network. Offline support is not automatic: a developer decides per screen what to cache and what to show without a connection. Step 1 is an offline page with a clear message. Step 2 is caching the most used screens, and step 3 is storing forms locally until the connection returns. A developer sets the rules per route with Serwist, the library the Next.js documentation points to. According to the HTTP Archive Web Almanac 2025, 28.9% of the top 1,000 mobile pages are managed by a service worker. In practice, a fully offline field app for technicians is the most complete form of offline support.
Is a PWA good for SEO?
Yes, a PWA is good for SEO, because a PWA is a website with real URLs which Google can crawl and index. A native app, by contrast, only appears in search through a store page. Step 1 is server rendering: a PWA rendered entirely in the browser shows Google an almost empty page first. A site built with Next.js renders pages on the server or ahead of time, so content is visible immediately. Step 2 is speed, because Core Web Vitals are used by Google ranking systems. Additionally, a service worker can make repeat visits faster by serving cached files. For example, a customer portal with public help pages can rank for each help article. The native version of the same portal only has one store page. The article on website performance optimisation covers the steps to faster load times in 2026.