This is What Microsoft Said About Progressive Web Apps at Build

Posted on May 14, 2017 by Paul Thurrott in Cloud, Windows 10 with 26 Comments

This is What Microsoft Said About Progressive Web Apps at Build

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.

The Twitter app in native Android app form and as a PWA. Which is which?

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.

Flight Arcade is a PWA that supports multi-touch, gamepads, and tilt control. You know, like a native game.

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.

 

Tagged with , ,

Join the discussion!

BECOME A THURROTT MEMBER:

Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Register
Comments (26)

26 responses to “This is What Microsoft Said About Progressive Web Apps at Build”

  1. Usman

    Honestly believe PWAs are the future, I've been using Twitter Lite for the past month, it works like the native android app, I get push notifications, it's fast and has updated tweets as soon as I load it.


    What UWP advocates do need to understand is that for many new projects, web is the primary target, because it runs on any platform, advancements in SPA frameworks, Typescript and the ECMAScript specifications make the web into a familiar development experience to that you would find with native XAML/C#. It is truly the cross-platform language, all operating systems essentially have to have a fully capable browser, which in itself is an OS.


    Here's a talk by Scott Hanselman explaining why the web is the future / present for general computing


  2. Mark from CO

    Paul:

    Let's be clear that Microsoft is again several years late to board the PWA bandwagon.  If one believes Wiki, the name Progressive Web Apps was coined in 2015 by designer Frances Berriman and Google Chrome engineer Alex Russell.  And doing a Bing search for Progressive Web Apps you find more references to Google than Microsoft on the first page.  Google seems to be investing at least as much, if not more, time and investment in making this happen as anyone.  That can't be good for Microsoft.

    Mark from CO

  3. MutualCore

    Honestly PWA are 'dead on arrival' because people expect to install native apps from the store, not use the browser on mobile. I honestly don't get the push for these unless Google/Microsoft solve the issue to the point that PWA are transparent to the user. I.e., the experience remains the same as now - you go the store, install an app and has full functionality and uninstall via the usual method. If you have to involve the browser, you failed.

  4. glenn8878

    They are no substitute for native apps. They just don't work as well. Often, they crash like a browser. They might expect a dialog box to pop out, but they don't work.

  5. BigM72

    Is this a rebranding of the "Hosted Web Apps" - Project Westminster that MS spoke about at Build two years ago?

  6. nbplopes

    Hi,


    1) It's not so much that Windows 10 runs PWA's, but that PWA's run on Windows 10. This is an important distinction from a political perspective considering that Windows 10 has done nothing to support this movement apart from Visual Studio Code, an amazing tool that its getting better by the week, kudos to the team and MS to support its development.

    2) Chrome cannot currently deployed in the Windows Store because it tries to build an a PWA app ecosystem on top of Windows. This app ecosystem would of course compete with the Windows Store. This I think is the main reason, not the engine.

    3) Considering that the Windows Store as of the Anniversary update allow publishing PWA's it just just enforces 2) even more. This a recent factor.

    4) Chrome Apps on Windows 10 are no more. Google already announced that it will stop supporting Chrome Apps on Chrome and advises current Chrome App developers to package independently if they want deploy these apps on other OS's but Chrome OS. This makes sense considering that PWA's are getting more and more mature and deployable as standalone apps. OS X, Android, iOS and Linux have been supporting it for a few years now on their App Repositories.

    https://blog.chromium.org/2016/08/from-chrome-apps-to-web.html

    So Paul, bye by to running Chrome Apps inside chrome or pining Web sites as Apps in chrome. But I think we will get something better in the end.

    7) At the moment PWA can only be deployed on the Windows Store through the Centennial Packager (x32 app packager targeting the Windows Store). Although it can be argued that there a kind of sandboxing, the fact the is this apps currently are run with full system rights as per user in Windows 10, unlike other OS's

    6) I felt the urge several times this. I think in some main Keynote MS told that Platform wars are over. We don't need to be malicious or extremely cynical to take this point of view with a pinch of a salt coming form a company that makes platforms for a living.

    There are of course several hints that is not the case. For instance UWP, and the underlying marketing idea that there is some kind of conversion going on of anything to UWP is an interesting stance. Yes MS is focusing on build cross OS application, its bets on Xmarin, open sourcing .NET Core and other MS centric technologies, its bet on brining VS Studio to the Mac ... But all these initiatives are either C# (MS language) centric or fall short in comparison to what they do on their own ecosystem. Meaning one way or another if it is to use this tech a developer will quickly find that it better of being on Windows 10 because the tooling available for MS tech is of course better in Windows 10.

    What it is still not better on Windows 10 is developing PWA's. MS is trying to fix this by brining the an Unix/Linux subsystem so that developer can develop them better.

    I would not call it a war. But there is definitely competition and thinks deep down aren't what it looks in the Windows 10.

    Take note that UWP its a platform different from PWA's. PWAs and the underlying platform focuses on the Javascript language standard and nodeJS runtimes (fully open source). The UI frameworks on top, like Angular, React and other are also fully open source 100%. UWP focus on C# and .NET runtimes were .NET Core its just part of it.

    In a sense one might consider that UWP was built to Compete with PWAs as much as C# was built to compete with Java back in the day.

    Yet MS it is definitely becoming more Open but these idea of empowering developers its not just that. Neither should be.

    Its also about locking in and control. In that regard MS is extremely aggressive, should I say, more aggressive than Google and Apple combined all things considered.

    Cheers.


  7. matsan

    And why is this different that other packaging technologies already available (Cordova and electron)? Sadly I get the feeling this is yet another smoke and mirrors attempt to bring apps to Windows store. Bridges and UWP failed so bring on a new platform....

    • Stokkolm

      In reply to matsan:

      It's different because the idea is that developers are going to switch from programming in Java and Objective-C and start developing their apps using PWA technologies. Once this happens, developers don't need to make a UWP app as well, because the PWA apps are platform agnostic. So, they can develop once now and distribute everywhere. The logic is that they will deploy to the Windows store in addition to the App Store and Google Play store because it's no extra work on their part to do so.

  8. hrlngrv

    In reply to skane2600:

    Probably means extra Windows 10-specific features, such as security, live times and notifications. Whether there are more than a million or so people across the globe who value that on PCs is an open question.

  9. brettscoast

    Good post Paul


    Unpacked you now get a better understanding of where Microsoft is headed on PWAs and the future that will provide on Windows 10 and beyond. It's a pity that Microsoft took so long to say yes PWAs is the future way forward not UWP alone

  10. Waethorn

    Microsoft needs to catch up to Google on this since Chrome OS already offers more functionality than Windows 10 for web apps.

    • SvenJ

      In reply to Waethorn: Why? I can already run 'all' the x86/64 applications that are out there, plus the Windows store apps. Why do I need to have another way to run a subset of apps in a different way so that I can run them as if I didn't actually have an OS? Are web apps somehow better than the apps we run now?


      • Waethorn

        In reply to SvenJ:

        Oh, I dunno. How about ease of development, smoother deployment, simplified management, and multi-platform compatibility....


        As Paul says, PWA's are the future of apps that'll replace UWP - Microsoft is just behind.

        • jean

          In reply to Waethorn:

          we've been there 10 years ago (HTML5/Java) - what happened evere since ?

          Apple introduced iOS Apps / App Store to lock the users in into their Eco Systems

          Google Apps won't run any where else  other than in their own browser

          none of the platform providers are in favor of supporting the freedom of choice

          • Waethorn

            In reply to jean:

            What happened since? Chrome OS. And of course, Microsoft thinks the platform has merit, otherwise they'd still be pushing UWP and wouldn't be putting out "simple" computers for education.


            Apple tried to use proprietary controls with Webkit to push their platform intent, just as Microsoft is doing here. Google is moving away from this because they'd rather have universal web apps that don't use proprietary platform support.


            Google Apps work in Chrome, Firefox, Opera, Chromium, and Edge. So you're wrong.


            Microsoft seems to support freedom of choice - they have to, because Windows is losing ground. Google is dropping proprietary platform code from Chrome Web Apps so that they're universal, because Google makes money from services, not platforms. Microsoft and Apple are both platform companies.

        • skane2600

          In reply to Waethorn:

          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.

      • skane2600

        In reply to SvenJ:

        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.

  11. hrlngrv

    Gee, they can look just like UWP apps, and there's such demand for UWP apps how could they fail to succeed hugely?

    • Asgard

      In reply to hrlngrv:

      I was thinking this too. And every single UWP counterpart of web apps that comes in mind are better than the web version. Sure web apps can and will improve. But so does native open source cross platform development. Only time will tell.

  12. Shmuelie

    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.


    Apps already do that with normal apps Paul and it annoys them on all platforms!

  13. tbtalbot

    The arguments you've been making for apps on Windows also applies as well of Android and iOS. I mean, why do we have identical, but separately developed apps on these platforms. Something universal will eventually take over (and make the Windows app gap insignificant as a side effect). PWA is one of the platforms that could do it - assuming it can do a better job of running, installing and integrating than previous web apps.

Leave a Reply