Progressive web applications (PWAs) are web applications that cross the boundary between web and app. They run in your browser andcan be downloaded to run as standalone apps. With support in the latest builds of Microsoft’s Edge browser, they’re now a full-fledged part of the Window ecosystem, with big names like Twitter implemented as PWAs and available through the Windows Store.
I first looked at building PWAs in Windows last year, when Microsoft announced details of its approach to working with PWAs. The tools available then were mainly web-based, but that’s been evolving. For example, there are already points of contact with popular editors, and Microsoft is working to add more features to the PWABuilder web-based app-conversion tool. So it’s worth taking a look at how you might go about building a PWA today.
It’s clear that Microsoft wants to make PWAs a first-class citizen of its Universal Windows Platform (UWP) ecosystem. But for now, you’re still limited by the available tools. Everything you need is there, but it’s not integrated. I hope a future Visual Studio release will bring it all together, from code to manifest to testing. Until then, you need to put together your own tool chain and make sure it’s kept up to date.
Running PWABuilder locally
Available from GitHub, PWABuilder was originally known as ManifoldJS, where it supported building cross-platform web-based apps. While much of the old naming is still in the project, it’s now a much more complex application with a focus on PWAs, built using Vue.js and able to run as a full-fledged web application or locally using Node.js. A Macintosh-based desktop app is also under development, though it’s not quite ready for prime-time, as is a Visual Studio Code extension.