Skip to main content

Microsoft is supporting Google's Progressive Web Apps platform and that's great news for everyone

Microsoft recently announced that Progressive Web Apps (PWA) will soon be supported by the Microsoft Edge web browser. Moreover, a few apps hitting the Windows Store – like Slack and Trello – are now mixing PWA with Electron and elements of the Universal Windows Platform (UWP).

But why PWA and not just native, ground-up UWP apps? Here are a few reasons why PWA will become more prevalent and not just for Microsoft but Google and Apple too.

Who is behind PWA?

Ironically, Microsoft is not the biggest proponent of PWA – at least not yet. Google defined the phrase and criteria set forth for PWA in 2015. Alex Russell, a Google Chrome engineer, wrote what is considered ground zero for the PWA movement in an article called "Progressive Web Apps: Escaping Tabs Without Losing Our Soul". Google solidified the initiative in a dedicated page pushing the concept forward.

Currently, the Chrome browser is the only official browser that supports PWA, but Microsoft announced Edge is coming on board, too.

All of this may be surprising. After all, Google does not have an "app gap" problem like Microsoft, yet they are the ones pushing PWA. Microsoft also sees the benefit. Back in Microsoft Build 2016, Microsoft talked extensively about the long-term viability of "apps for everything" as being dated and beginning to fade. In the future, artificial intelligence, PWA, more powerful local hardware (e.g., your phone, or Windows cellular PC), cloud computing ("The Microsoft Edge") and ubiquitous 4G data connections will take over.

What is a PWA?

Progressive Web Apps (PWA) are more than just traditional "web wrappers," but not entirely native apps either. Web wrappers were just a web browser encased in a squared window. However, they lacked things like integration with the OS (e.g., notifications), synchronizing data in the background, and most importantly offline usage.

The new Trello app is a mix of PWA, Electron, and UWP.

The new Trello app is a mix of PWA, Electron, and UWP.

PWAs, mainly, fix all of that with apps that feel native but rely more heavily on the web. Much of that is thanks to Cache and Push APIs that make PWA more satisfying to use.

There are specific criteria set for what makes a PWA, and a lot of it has to do with the rise of multiple converging technologies, including:

  • HTML5, CSS3, Javascript, and Service Workers
  • The abundance of low-cost, affordable, and fast 4G LTE data
  • Powerful processors that can render and load data

As defined by Google the criteria for a proper PWA include:

  • Progressive - Work for every user, regardless of browser choice because they're built with progressive enhancement as a core tenet.
  • Responsive - Fit any form factor: desktop, mobile, tablet, or forms yet to emerge.
  • Connectivity independent - Service workers allow work offline, or on low-quality networks.
  • App-like - Feel like an app to the user with app-style interactions and navigation.
  • Fresh - Always up-to-date thanks to the service worker update process.
  • Safe - Served via HTTPS to prevent snooping and ensure content hasn't been tampered with.
  • Discoverable - Are identifiable as "applications" thanks to W3C manifests[6] and service worker registration scope allowing search engines to find them.
  • Re-engageable - Make re-engagement easy through features like push notifications.
  • Installable - Allow users to "keep" apps they find most useful on their home screen without the hassle of an app store.
  • Linkable - Easily shared via a URL and do not require complex installation.

PWAs, in that sense, are thought of as hybrid web apps. If that sounds familiar, it is because Microsoft Desktop Bridge (Project Centennial) is also a hybrid system of classic Win32 programming and modern UWP APIs. Hybrid apps that mix and match feature sets are a popular topic these days and we'll be seeing more of it going forward.

Example of PWA (and how UWP makes it better)

One of the most prominent examples of a modern PWA is Twitter. If you navigate to on your phone or even desktop web browser (doesn't matter which browser) you can experience what a PWA is like when it is just a website.

Now, take that site, pack it into a Microsoft APPX file (UWP) and list it in the Store and you have a new Twitter app that supports notifications and a native-like experience. Microsoft's UWP fills in the gaps of PWA with support for the notifications in the Action Center, Live Tiles, Cortana integration, Share targets and more.

Twitter as a PWA in Microsoft Edge is almost like a full app.

Twitter as a PWA in Microsoft Edge is almost like a full app.

Using web Service Workers and caching the "app" can receive live updates and even work offline.

While the PWA-UWP app can be updated at any time thanks to the Windows Store a lot of the content is dynamic meaning companies can make changes on the backend first cutting down time of delivery to customers. Moreover, due to the criteria noted above like support for HTTPS and the Store listing ("siloed apps") customers know that the app is safe.

Why PWA, anyway?

The question as to why we see a new push for PWA is complicated as there are three players involved: (1) The company or service (2) App developers (3) consumers. PWAs affect all of them in separate ways, not all good.

The simplest explanation for PWA for a company is money. A single professional developer could start at around $50,000 a year for a salary plus retention. Many large corporations with complex apps may have a "team" of developers pushing that cost into hundreds of thousands of dollars. While a good argument could be made that companies like Amazon, Yelp, or Spotify can "afford" such an expense, your local restaurant, car dealership, or flower shop cannot. PWAs bring a democratization of sorts to the app world for big players and small who now get a shot in an App Store while delivering a native-like app experience.

For developers, making a PWA is significantly easier than coding a native one from scratch. That's not necessarily great news, as it means companies may opt for a cheaper PWA rather than sophisticated native platform as web standards and technology improves.

For consumers, it is a bit mixed. PWAs can bring a pleasant experience (see Trello), but they likely won't match the look and feel of an authentic "native" app. At least not now. For many services, PWAs make sense, such as a flower delivery service, bus tickets, or a local restaurant. You won't be using these apps on a daily basis, nor do they require the particularly deep functionality of a native email client or messaging app.

Nonetheless, for consumers at least, some of that will change. We recently covered the UWP app Clatter, which is a messaging app that lets you connect to Skype, GroupMe, Google Hangouts, Slack, WhatsApp, and more all through web services in a single app. The cost to develop that app was likely extremely low, and the experience is not bad. That will only improve over time as web standards improve and expand.

Google, of course, also benefits. Since PWAs are treated like JavaScript sites that means when Google "crawls" the web those PWAs can show up for search engine optimization (SEO) purposes. That's also good for publishers – like us – who "lose" web traffic by offering a native app.

Finally, Microsoft benefits because there are just more apps in its Store.

The app model is changing

I've mentioned on our podcast numerous times that the "make a native app for everything" model is not sustainable. The idea that in 2020 an app store from Apple or Google will have millions of apps creates a discoverability problem. Then there are the associated costs with native apps, which effectively blocks companies with small budgets from competing.

PWA app design in action. Image credit: Google.

PWA app design in action. Image credit: Google.

Services like Electron, which power apps like Twitch, Slack, Shopify, Discord, Github Desktop, Cryptocat, and more along with Google's PWA standards will push more unique, niche, and low-cost apps to consumers on all platforms. Cross-platform support with PWA and Electron are already its biggest selling points so that Android and iOS can make use of it too.

Microsoft may focus on desktops with UWP — here's why you should care

Microsoft is also betting big time on PWA with its UWP. Electron is already supported, which is why Slack exists in the Store. Next year, proper PWA support through Edge will happen too, which means even more apps.

While Microsoft's long-term goal is for proper, native UWP apps its ability to bridge into PWA and Electron benefits everyone in the consumer space. Just remember, these are not web wrappers, but a significant evolution of app design and implementation.

Daniel Rubino
Executive Editor

Daniel Rubino is the Executive Editor of Windows Central, head reviewer, podcast co-host, and analyst. He has been covering Microsoft here since 2007, back when this site was called WMExperts (and later Windows Phone Central). His interests include Windows, Microsoft Surface, laptops, next-gen computing, and arguing with people on the internet.

  • How do these web apps help mobile if they do not interact with OS/hardware?  This is the only place I would really use "apps".   Software on windows 10 desktop are still programs they are just supplied in different ways.
  • They do with their support of notifications etc.
  • Ok,  I misunderstood Daniel then...I thought he wrote they DO NOT interact with OS and hardware.  
  • They interact whit the OS. That is one of the benefit of it. Unlike standard web apps, they can have access to Live tiles, notifications, better battery life, Cortona integration etc.
  • ok.  are they free of OS?  meaning one that runs on chrome will run on windows too?
  • That is a very good question. I know that PWA works on Chrome and now on Edge. But your question is if a developer can share the code and support both browsers whit minimal effort? If that is the question. I don't know the answer xD
  • So PWA's are "free of OS", they are browser dependent but even there, most browsers can adapt to them. You still can get "desktop notifications" which even Edge supports though. The idea is you pin the PWA and it looks like an app (Edge does this too). What Microsoft is doing is putting the PWA into a UWP "package". Once that is done the PWA can get additional features like Live Tiles, Action Center, share targets, and likely even Cortana stuff - depends on how much MS builds out the bridge for it. I also didn't mention since MS is doing all of this with Edge and Edge is "optimized for Windows 10" you get -in theory - a faster, more native experience since Edge is tied deeper to the OS. I didn't call it by name but yes, this is Project Westminster. The only thing that has changed is the idea of "the web" and what makes a web app.
  • Proper background audio that continues during Modern Sleep / Connected Standby would be awesome for music streaming websites.
  • Thanks for the clarafication Daniel!  green mushroom for you!!!
  • REALLY?  anyone ever play super mario bros?  1 up is a green mushroom!  relax.
  • I'm writing a couple of PWA's right now for the sake of mobile more than anything...(also I must mention FireFox also supports Progressive Web Apps on desktop and mobile) ... to answer your question: on mobile Progressive Web Apps make use of javascript APIs that allow it to run in the background and to cache content for the website rather than download content every time you use the application. This makes both the website load instantly on a mobile platform (like a mobile app) and it also allows the website to lose the "browser chrome" making the web app seem as if it were a full fledged app - even allowing you to add an application icon for the web app itself!!! There are also other APIs which allow you to use system notifications resposibly, and there are plans to provide location based api's for GeoFencing... This will be useful if you provide a small business with an web application - that has particular use at a specific location. The idea is that the interaction with the operating system is managed by the browser (right now FireFox and Google Chrome, Edge is in beta with this, Safari said something) and the browser facilitates features that are missing from making websites operate like full fledged apps. Then... the browser gets completely out of the way...  This is the guarenteed future of the web...
  • Agreed and with seamless update I don't see much of advantage of native apps unless you need close to the metal performance like something written in c++. This can't come soon enough.
  • Can you tell me were you got that wallpaper on your desktop please thanks
  • Listen, Richard... All of the new software technology in the world, that MS has the opportunity to take advantage of, is great...
    But, UNTIL MS has an extremely capable, useful, and appealing mobile device that a lot of people are gonna feel excited about owning,, MS will not see as big a participation on developers part as they potentially could...
    There's no question about what comes first. There's no Chicken/Egg theory here. It's simple; there must be a device FIRST for developers to target. Yes, it starts slow, but even Apples app store had to start somewhere. But, Apple's app store wouldn't have grown to where it's at if the iPhone didn't come first.
    MS has to make an extremely appealing Mobile device, under the Surface line, and market the **** out of it to Consumers, developers, enterprise, and the press. If that doesn't happen we might as well stop talking about MS, and mobile, for the future. That's the only way PWA's, UWP, and other "bridges" are gonna have significant impact on MS'S app gap. MS has to do it. They have to stop talking about technology, and what they're capable of, do something tangible, and do things in a timely manner. I will see hundreds of thousands of people at the airport today, and not one will be able to explain to me what W10S is, or what a Surface Laptop is... That can't be MS plan to turn things around. It's just not bold enough. Go for gold, or go home!
  • ...What are you ranting about? The man asked for a wallpaper source.   Did you reply to the wrong thing?
  • Of his meds again
  • You know I'm trying to get to the top. You're acting brand new...
  • Holy Crap.   Somewhere in the world there are two guys with a giant butterfly net looking for rodney!
  • Cool story though...
  • 😆😆😆😆😆
  • That wallpaper is part of a Microsoft wallpaper package available for free in the Windows Store of Win 10.
  • This is all well and good, but I see NO evidence that companies/developers will be enticed to develop a PWA for Windows phones/mobile/whatever or even for Windows 10.  Unless a developer can TRULY write the thing ONE time, with no specialized coding, and it is installable on any device or platform, you will always see just iPhone and Android supported.  The OTHER issue I have is this pie-in-the-sky idea of "ubiquitous 4G access".  First, that won't be enough.  Second, it will never be ubiquitous.  I live in a small city on the Texas/Mexico border.  The number of dead spots AROUND TOWN are plenty, and shortly after leaving town in any direction you can quickly watch your connectivity disappear.  High speed wireless data is STILL VERY COSTLY, both to build out and to purchase as a consumer.  While I am a HUGE fan of using the cloud (I don't wear a tin foil hat and I'm not afraid to have location services on if I get value-added services), the fact is access TO the cloud, even for PWA programs, is only truly reliable in metropolitan or other dense areas.  For the rest of us?  Hah!  So, yes, support any new tech that opens up ways for us to access data and services.  But don't for one second it's going to be as great as many would have us believe.
  • If there is an issue with bandwith, there will be a problem with PWA's AND native apps, not just PWA's. They are just the same, only written differently. Instead of using native languages (Go, Swift etc.), you just use HTML, JS and CSS and it will work just like a native app, with all the same capabilities. Ofcourse, native has access to more API's but for 90% of all apps, it just becomes easier to have a website AND an app with all the same code. As a web dev myself... Hooray!
  • Beautifully put.  Even though I've stepped away from web development these days, I've been waiting for this to happen.  Of course native apps and programs shouldn't disappear completely because sometimes you really need that power and versatility to accomplish things.  But the current app store model where companies publish an app that's just an easier to navigate version of their (sometimes un-optimized for mobile) website needs fixing.  It's a throwback to the days when the mobile internet just wasn't ready and the coding languages of the web and browsers hadn't caught up yet.  Fastforward to nearly a decade later and it's a different story.  Some websites, like Ebay, are behaving more and more app-like on the mobile web and it's a step in the right direction.  Write once and run on as many platforms as possible via the web is a good thing.
  • That's not necessarily true. I have a number of apps that do things for me offline and then expand or catchup once I have connectivity.  Obviously, something like Tweetium is useless without a connection.  But as we move toward apps that "offload" a percentage of their actual code/function to the cloud, this becomes more of a problem.  And I'm still convinced that PWA doesn't mean truly universal and probably never will.  I believe there will forever be PWA that only works on iPhone and Android.
  • you are wrong, WPA works offline, too.
  • I guess for Microsoft the benefit is that it's a parallel move to their UWP for leaving behind the usual native app model IOS created. A different approach to developing apps than the current one will ultimately benefit Microsoft's UWP initiative, if indirectly. And MS is well prepared for a new model that leaves native apps behind, with all the frameworks and bridges they've been creating these last years, which will also keep maturing exponentially the following years. It will all converge in a user experience that's currently embodied in Windows 10 S and will probably permeate to newer mobile options too. It's just a step into the future, MS are good in planning long term, and the fact that players like Google are getting into similar moves only proves MS is doing things right.
  • You missed the point on a couple of items. First, with PWA's developers do not have to target Windows. A PWA will work on any PWA-capable OS/browser. And, Microsoft said this week that they will be automatically adding PWA's to the store, with the need for developers to do anything. Second, as someone else pointed out, PWA's do not require a persistent data connection. They work with the same benefits (and limitations) offline as any app.
  • I'll believe it when I see it.  And I don't believe I'll ever see it.
  • because you can't imagine.
  • Write once is the whole point. No 4g access? Why is this an MS problem? It's everybody's problem. MS fans are some of the biggest complainer ever.
  •  Thanks for the article :)
  • "Google does not have an "app gap" problem like Microsoft" Oh, but they do, on Chrome. The more MS pushes this, the more they make Chrome a more viable desktop platform. 
  • chrome never will be an OS... if MS powered Edge more and more it will gain market share. chrome OS is a joke and not even suitable for kids. chrome os outside of US is dead... no one will use a browser as an OS... even MAC OS is far behind Windows... 
  • Exactly my thoughts. This is clearly a move to empower their pseudo-OS Chrome thing.
  • Not anything that helps MS at this point will be good for everyone. So they should only do things that help themselves and not personal computing in general? That's how you kill a brand. MS has enough problems with it's image and every time they do something that is open and unrestricted it helps them with some of the worst criticism out there. MS can't expect to get anywhere trying to keep down the competition artificially. They have to go toe to toe from now on in every arena. 
  • Yes,  It'll benefit Chrome OS...but it'll also close the app gap for Windows on Mobile and give Microsoft a chance to remain relevant in Mobile, I think.  All the wasted effort writing apps for different platforms - that's why more than two mobile platforms was not viable i Mobile was a great platform but there was no room for a third platform because it's too much effort for app developers  Excited to see how this play out!
  • I'm excited to see it as well. Web apps have been the dream since the early days of the web browser. An app that you write once and run anywhere on a universal platform would be a developers dream.  While it may help Microsoft's mobile efforts (if anyone out there still cares), I suspect it will end up helping Google's desktop efforts more. Gain some mobile - lose some desktop. Either way, it benefits consumers. 
  • A pocket device with a foldable screen will be an ideal form factor to run PWA and UWP apps.  Samsung plans to build their Note 2018 with a foldable screen.  Hopefully, MS will be able to release their ultramobile PC device next year also.
  • It would be amazing if W10M could support such a thing. Even without OS updates, a phone like the Lumia 735 or 950 could conceivably have new apps! The OS long thought dead would have new life breathed into it. (:
  • yeah, Google knows WPA is the future, they have to choose the Store or the WPA, but obviously they want to be at the front so they moved to WPA.
    And Apple will not support WPA any time soon, as they earn so much from App Store.
    But for companies and developer, WPA is cost saving and more effecient, we will see more and more WPA coming...
  • Great Article
  • i'm a developer and i love C#.  Is it possible to code PWA apps using C#?
  • Yes and no. In a way, it really kind of is "just" a web wrapper. This means that server-side code can be in C# if you were to use something like ASP.NET. However, client-side code (what actually runs on the users device) will only be in HTML, CSS, and JavaScript. I'm in the same boat as you, and to some extent I do not want PWA to "take over" native applications. However, according to the article, that seems to be the way the industry is moving.
  • Might be when WebAssembly gets implemented in all browsers. It would be the C# replacement for JS.
  • PWA seems a proposition that has a lot of common with Microsoft's UWP model. Only that Google's reason to get behind it is basically empowering that "Chrome OS" thing they do, as it seems to involve app-like browser based experiences. It's a perfect fit for them. For Microsoft, yeah, it's a similar technology than they're going for on their own, and it makes it easier to build UWP apps around with bridges, but I still think PWA as Google brings it will actually compete with UWP store apps, as similar as they might be in the end. So basically this seems as a move by Google to get to a similar goal than MS has with UWP in leaving behind the old app model, but I wonder if it doesn't hurt MS's vision more than benefits it.
  • Google definitely has a vested interested in pushing PWA including as I noted web search traffic/indexing; Chrome OS is interesting as PWA plays into that as well, but Google still has the reverse uphill battle that Microsoft does Mobile --> "PC"-like devices. I'm still not seeing a big update of Chromebooks in 2017 in the consumer space.
  • No they have been the same really since their release......besides the pixel.   Rumor has it that Google is readying a new pixel chrome book device.  That one is going to be interesting.  
  • "I still think PWA as Google brings it will actually compete with UWP store apps," They are UWP apps. MS needs to view this as the consumer views this. They don't care to know anything about all of the underlying crap and terminology. All they see is app in windows store. Everyone is splitting hairs but if they get a bunch of needed apps from this (which if you really look there very few PWAs actually in existence at this time) then all of this is the right choice. I really do believe though that eventually MS will give up and decide to go back to essentials and strip down windows. I think MS really doesn't have a grasp on how to develop themselves a niche in mobile. The idea that they haven't just integrated Android apps under the UWP umbrella is kind of mind boggling at this stage of thier decline. They will never be seen as any kind of option in Mobile as long as they still have this app thing hanging over their heads and they need to just make Android apps fully supported in a standard UWP container and just be done with the groundwork, because that is what all of this is. The first step that has taken more than a decade to get to where pretty much everyone including MS Fanboys pretty much have accepted that MS is effectively a cripple in mobile who will never walk. 
  • What I mean is that even though PWA brings an underlying framework that's easily to convert into store apps, Google PWAs are still not instantly UWP Store apps. someone has to make them into Windows apps. And to some extent this still perpetuates the "app gap". Please correct me if I'm wrong.
  • You're all wrong and the Microsof is right. Who has no competence to develop claims who has developed for millions of appliances with UWP.
  • Microsoft has already tried a variant of this with Project Westminster, but they have gotten virtually no uptake. (TripAdvisor is one app I can think of that was likely built this way.) They probably know they have no chance other than to rapidly buy into the Google standard. And even then, without a mobile footprint, only a small percentage of developers will even consider packaging a PWA for the Windows Store. The PC continues to slide into irrelevance for consumers. Killing off Lumia and abandoning even a pretence at a mobile phone platform will come to be seen by historians as the death knell for Windows outside of the enterprise. Microsoft had to have at least some presence on all "three screens" to stay relevant, and the "new guy" threw it away. We should welcome, I guess, the new IBM. Hard to have much passion for that kind of company, however.
  • Project westminster required work on the part of the developer. This is just crawling the internet and any site that is a functioning PWA gets added to the Windows Store. 
  • Developers do not have to package these for the Windows Store. Microsoft will be adding many of them automatically - no developer action needed.
  • PWA with Fluent for web FTW!
  • Merciful heavens, no.  Ugh, I hate Fluent.  Ugly and nasty.
  • MS's long term goal cant be proper native UWP, u see them releasing newer n newer apps on ios but not on their own platforms, they seem to have moved on from this goal, its all abt supporting ios and android platforms via their services.
  • MS is doing the right thing, they have to do something that ppl use. And they have to reach their service to where the user is.
    After all, profit is the thing that make the company move.
  • I am looking forward to PWA. However, I do disagree with a few points.   "The abundance of low-cost, affordable, and fast 4G LTE data" 4G/LTE is a reality if you live in a more populated area. However, those carrier maps are often quite misleading. Good luck getting 4G/LTE in most of that red/magenta/blue/yellow area.   "For developers, making a PWA is significantly easier than coding a native one from scratch." If building PWA is anything at all like building a website with a decent UI, I find this to be a little hard to swallow. Don't get me wrong, web development--all development--has come a long way. But in 2017 web development is still as much or more of a multi-technology mess as any other kind of serious development. In my experience as a professional developer, a good UI is as much or more of a PITA to build for a browser as it can be for a native platform.
  • "4G/LTE is a reality if you live in a more populated area. However, those carrier maps are often quite misleading. Good luck getting 4G/LTE in most of that red/magenta/blue/yellow area."
    True, but the trend is towards getting 4G in more spaces. We're certainly not regressing, but certainly, access is important.
    "If building PWA is anything at all like building a website with a decent UI, I find this to be a little hard to swallow. "
    Consideration of website design/tech needs to be a priority, but since PWA is cross-platform it behooves a company to go in that direction vs. creating separate native apps for iOS, Android, and Windows.
  • Is there even one REAL example of a PWA in the Microsoft Store?  Not just a wrapper, but real PWA?
  • Only Chrome supports PWA as of now; Edge is getting more of it later. Project Westminster is just this, but the web has evolved. But it's the same thing: PWA (web app) + UWP. A more direct answer to your question: Netflix.
  • Low cost data plans are not here yet.  Maybe 2020.  And then you still have the problem of your PWA app not working the minute you loose coverage.  I hate that.
  • Honestly, the average user can't keep up with this in, out, in, out strategy with Microsoft. They lose more customers dumping what they sell than you can believes. Killing themselves.
  • So, you remember Project Westminster announced a few years ago about bringing "web apps" to the Store via a bridge? That's all this is, just the web has evolved.
  • Ahhhhh... As usual, I seemed to have misunderstood a bit of the topic. Sorry.
  • Daniel,  any timeline for this to be put into useage on edge?  
  • Do these app like... store script / lib, resources in the build? Do I need to re-download the whole program everytime I launch the app? if a game's download size is 4g... you'd have to store all 4g into the memory, and then there are variables and things... would you able to store data and resources in disk and load / unpack'em when needed?