Progressive Web Apps on Windows

With Progressive Web Apps (or simply PWAs), you do not have to decide between using open web technologies for cross-platform interoperability and providing your users with a native app-like experience customized for their devices. PWAs are just websites that are progressively enhanced to function like native apps on supporting platforms. The qualities of a PWA combine the best of the web and native apps.

Discoverable icon

Discoverable

From web search results and supporting app stores

Installable icon

Installable

Pin and launch from the home screen, Start Menu, Taskbar, and so on

Re-engageable icon

Re-engageable

Send push notifications, even when the app is not active

Network Independent icon

Network Independent

Works offline and in low-network conditions

Progressive icon

Progressive

Experience scales up (or down) with device capabilities

Safe icon

Safe

Provides a secure HTTPS endpoint and other user safeguards

Responsive icon

Responsive

Adapts to the user's screen size or orientation and input method

Linkable icon

Linkable

Share and launch from a standard hyperlink

By building or converting your existing site to a PWA, you engage better with your existing audience using push notifications, app-like integration, and offline support. At the same time, you should continue to build your audience on the open web, as users discover your PWA through search and link-sharing. Best of all, you may update your app by simply updating your web server code.

PWAs on Microsoft Edge (Chromium)

When you build a Progressive Web App targeting web standard APIs, your application may be deployed across platforms and devices and take advantage of the device specific capabilities as available. PWAs in Microsoft Edge (Chromium) are completely standards-based from a web platform perspective and enable users to install the app directly from within the browser without the need for Store-based deployment or registration. Desktop PWAs are supported on any of the platforms Microsoft Edge (Chromium) is available, including Windows 7, Windows 10, and macOS. Other benefits include:

  • Applications may be installed directly from within the browser via the Install icon in the navigation bar.

    Install application flyout and icon

  • Applications may also be installed, run and managed from the Settings > Apps menu

    Application menu items under settings

  • Web Notifications are integrated into the Windows notification system

  • Shared cookie store with the browser profile that installed the app

  • Access to other browser features via the ... menu including certificate validation, site permissions, tracking protection, and browser extensions

  • Full access to Microsoft Edge DevTools for debugging your app

Important

To tailor PWAs specifically for Windows 10 that make WinRT API requests using JavaScript, see the documentation specific to the EdgeHTML PWA features. Learn more about testing your PWA on Windows 10 and distributing it in the Microsoft Store.

Note

Check out the Build 2020 PWA session for an overview of PWA benefits, upcoming features and short demos.

Requirements

To run as a PWA, your server-hosted web app should include following minimum requirements.

Requirement Details
HTTPS Protect your users by providing a secure connection for server or app communication. Service Workers and other PWA technologies only work with web resources served over a secure connection (or from localhost for debugging purposes).
Service Workers Use Service Worker threads to act as network proxies between your server and client app in order to provide offline support, resource caching, push notifications, background data sync, and page load perf optimizations.
Web App Manifest Provide a JSON-based metadata file describing key information about your web app (such as icons, language, and URL entry point), so that Windows 10 and other host platforms are able to provide your PWA users with an installable, native app-like experience.

To be a great PWA, your app must also meet the following requirements.

Requirement Details
Cross-browser compatibility Ensure your PWA works by testing in different browsers and environments.
Responsive design Employ fluid layouts and flexible images with CSS grid, flexbox, CSS grid and flexbox , media queries, and responsive images to adapt your UX to your user's device. Use device emulation tools from your browser to test locally, or set up a remote debugging session to test directly on a target device.
Deep linking Route each page of your site to a unique URL so existing users may help you engage an even broader audience through social media sharing.
Best practices Use code quality tools like the Webhint linter to optimize the efficiency, robustness, safety, and accessibility of your app.
Chromium PWA Checklist Check your PWA against the Google baseline PWA checklist.

If you want to turn your PWA into a Microsoft Store application, head to the Progressive Web Apps (EdgeHTML) documentation.