As you may know, I’ve predicted that Progressive Web Apps (PWAs) and other hybrid Windows Store apps will be much more popular than Universal Windows Platform (UWP) apps on Windows 10. So what did Microsoft say—if anything—about PWAs at Build 2017?
It’s a fair question because the phrase “Progressive Web Apps” was barely mentioned during both of Microsoft’s hours-long keynote addresses. But if you look through the Build 2017 session list on Channel 9—they’re all available for viewing on-demand or via downloads—you’ll find a few PWA-related sessions and events.
Among them are:
Microsoft said a lot about PWAs at Build 2017. But here’s a breakdown of what matters to end users.
What’s a PWA? As Microsoft describes it, PWA is just a marketing name for web apps that work like native applications. That is, a developer can “progressively enhance” a website to turn it into a PWA that works offline, offers push notifications, provides background syncing, and basically works like a native app—is “native-ish”—on Windows and other platforms.
Why is a PWA different/better than previous web app implementations? The industry has been trying to turn web apps into a universal client platform for about 20 years—anyone remember HTML applications, or HTAs?—but only now is this technology starting to make sense. Part of the reason is that PWAs scale—or get progressively better—as you use them in different environments. They will work fine in a browser, but may work better on a mobile device and better still on a full-powered Windows 10 PCs. And then there are more specific reasons, like the PWA service worker technologies which provide sophisticated offline capabilities.
PWAs on Windows 10. In Windows 10, PWAs will look and work like real applications. That is, you won’t see any web browser “chrome” (UI), so the window in which it runs will look like a native app window. These PWAs are contained Windows Store apps, meaning that they are sandboxed from the system using Appx containers just like real UWP apps, will be made available through the Windows Store, and can provide UWP features. (See below.) To the user, a PWA will look and work just like a real UWP app. They should never know (or need to know) the difference. But in addition to working on Windows 10, PWAs work in your browser and on your mobile devices, so they’re responsive from a UX perspective, and in general. They are more universal, in effect, than UWP apps.
What Windows 10 features can a PWA use? As noted, PWAs on Windows 10 can run completely offline, and take advantage of certain UWP app features, providing a native app experience. (This is how Desktop Bridge apps work as well.) These capabilities include support for push notifications and other messages, live tiles, background data sync, offline/online state changes, foreground detection, permissions, touch and pen support, clipboard (copy and paste), and so much more.
Which additional features are available to PWAs? Compared to UWP apps and other Windows Store apps, PWAs have a few interesting advantages. For example, if you browse a PWA using a web browser in Windows 10, it can prompt you to install the Windows Store version for a better experience. That will make PWAs much more easily discoverable than traditional Windows Store apps. Additionally, because PWAs are web apps, it’s possible to install them in such a way that they download and run quickly the first time, but then can add features, downloading them as needed.
When will this happen? Today, both Chrome and Firefox fully support PWAs on Windows 10, but Edge and the underlying Windows 10 OS do not. Microsoft says that it is bringing this functionality to Edge and the web platform in Windows 10 for the Fall Creators Update. You can see which PWA features Edge (or any other browser) now supports here.
I’ve been pushing this notion of PWAs on Windows 10, but watching these session videos, I think I may have undersold it. It’s entirely possible that PWAs will, sorry, progress to the point where they replace entire classes of Android and iOS apps as well. And because developers can write to a single standard, they will no longer need to create separate solutions, often with separate teams, for the web, Windows, Android, and iOS. (We assume PWAs are coming to macOS as well, but Apple has not yet announced that.)
This should be particularly exciting to anyone who cares about Windows 10, because when you list out those four platforms in order of user base, Windows 10 is dead last after web, Android, and iOS (in that order). And when developers make decisions about where to put their efforts, that metric, along with engagement, really matters. So PWAs should result in better app support on Windows 10 than was ever going to happen with UWP. Much better.
This is the future of apps on Windows 10, folks. It’s also a ways off. But I’ll continue watching this technology very closely.
<blockquote><a href="#116773"><em>In reply to SvenJ:</em></a></blockquote><p>Since a web browser is itself a native application it can, at best, only match what a non-web application can do running on the same OS. In practice, however, a browser falls short of the capability of a native app for the most demanding requirements. What "demanding" means in this context varies.</p>
<blockquote><a href="#116817"><em>In reply to Waethorn:</em></a></blockquote><p>My comments were based on fundamental capabilities for the user, not development issues. As is the case with UWP, targeting multiple platforms is going to complicate development as it always does.</p>
<blockquote><a href="#116817"><em>In reply to Waethorn:</em></a></blockquote><p>we've been there 10 years ago (HTML5/Java) - what happened evere since ?</p><p>Apple introduced iOS Apps / App Store to lock the users in into their Eco Systems</p><p>Google Apps won't run any where else other than in their own browser </p><p>none of the platform providers are in favor of supporting the freedom of choice</p>
<blockquote><a href="#116916"><em>In reply to Waethorn:</em></a></blockquote><p>I don't understand what you mean. Windows S is all about pushing UWP. </p>
<blockquote><a href="#117250"><em>In reply to Waethorn:</em></a></blockquote><p>Well, I think product actions speak louder than BUILD words. Windows S doesn't support Centennial or PWA's any more than desktop Windows. Windows S on the other hand deliberately excludes unmodified Win32 apps. Centennial apps are just MS's consolation prize but are likely to grow slower than even UWP apps.</p>
<blockquote><a href="#116806"><em>In reply to hrlngrv:</em></a></blockquote><p>Sorry, I deleted the post you were responding to before I realized you had responded. I deleted it because I thought I was talking too much, but my restraint was short-lived :)</p>