Progressive Web Apps on Windows
With Progressive Web Apps (or simply PWAs) you dont 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 device. That's because 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.
From web search results and supporting app stores
Pin and launch from the home screen
Send push notifications, even when the app isn't active
Works offline and in low-network conditions
Experience scales up (or down) with device capabilities
Provides a secure HTTPS endpoint and other user safeguards
Adapts to the user's screen size / orientation and input method
Share and launch from a standard hyperlink
By building or converting your existing site to a PWA, you can better engage your existing audience with push notifications, app like integration and offline support. At the same time, you can continue building your audience on the open web, as users discover your PWA through search and link-sharing. Best of all, you can 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 can 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 Mac OS. Other benefits include:
- Applications can be installed directly from within the browser via the "Install" icon in the navigation bar
- Applications can also be installed, run and managed from the "Settings"->"Apps" menu
- 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
To run as a PWA, your server-hosted web app will at minimum require:
[X] HTTPS. Protect your users by providing a secure connection for server/app communication. Service workers and other PWA technologies will only work with web resources served over a secure connection (or from localhost for debugging purposes).
[X] 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.
[X] 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 can provide your PWA users with an installable, native app-like experience.
To be a great PWA, your app will also need:
[X] Responsive design. Employ fluid layouts and flexible images with CSS grid and/or 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.
[X] Deep linking. Route each page of your site to a unique URL so existing users can help you engage an even broader audience through social media sharing.
[X] Chromium PWA Checklist. Check your PWA against the Google baseline PWA checklist
Browser engine support for Progressive Web Apps calls for a number of architectural components, the most significant being the networking infrastructure underlying the Fetch API.
For the upcoming Microsoft Edge (Chromium) release in 2020, the browser platform itself has full support for these features that will work across devices where Microsoft Edge (Chromium) browser is supported. Microsoft Edge (Chromium) is currently in it's final beta with a generally available stable release planned for January 2020 with broad distribution following. More information on Microsoft Edge availability