w3c / strategy

team-strat, on GitHub, working in public. Current state: DRAFT
158 stars 46 forks source link

What is a PWA? #104

Open plehegar opened 6 years ago

plehegar commented 6 years ago

With advancement in technologies like Service Workers or appmanifest, we're getting closer to be able to use Web technologies to replace native approaches. But, what's our list of requirements for a good Web application that is intended to run on all devices, online/offline, secured, efficient, accessible, etc.? With those PWAs getting into application stores, we should expect to see different expectations rising.

https://developer.mozilla.org/en-US/Apps/Progressive https://developers.google.com/web/progressive-web-apps/checklist

Indirectly, the addition of PWAs into the Windows Store will also set some criteria as well: https://www.windowscentral.com/microsoft-teams-and-progressive-web-apps-coming-soon-windows-store

iherman commented 6 years ago

I think it would be really beneficial to have a clear definition on what is (and maybe what is not) a PWA. At the moment all documents I found are more a set of general principles rather than a clear set of statements which makes me believe that if I have an HTML page with some sophisticated Javascript application that uses service workers to make it offline, uses Web App Manifests for the "installation" of an application, my application and page is doing a proper job to make it Mobile aware, then I have a PWA. I am obviously oversimplifying, but I have not bound anything more specific (and I am happy to stand corrected if somebody tells me what I missed)...

plehegar commented 6 years ago

https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/

This one includes some authoring requirement:

Note the ability to use the winRT APIs (eg calendar, contacts).

js-choi commented 6 years ago

The first use and original definition of the phrase “progressive web app” occurred in 2015 by @phae and @slightlyoff (see Progressive Web Apps: Escaping Tabs Without Losing Our Soul), in reference to progressive enhancement of websites with technologies that fulfill nine principles. See also Wikipedia’s overview.

ghost commented 3 years ago

PWA is a shy attempt to repair the actual broken state of the internet, which has placed its security model between the computer and the browser, but not between the browser and the internet.

As a result, web users can not use web technologies to programmatically interact with their own local machine and resources, and a web page has become a highly insecure environment in which websites can spy on everything that the web user is doing into the browser, even forcing them to upload their documents and information into the cloud, the most unsafe place for web's user data, which should stay primarily into the local user's computer.

Nowadays spywares called "analytics" are directly installed into most webpages, letting no control over what information within the webpage gets sent to unknown organizations into the cloud, who will sell or use that information without the web user's consent. But web users have no other choice as within this model, they can not have trusted services that could safely interact with their local machines and resources, while keeping strict and transparent boundaries with the internet.

I guess this situation has benefited a lot of cloud companies who made a lot of money upon a twisted security model which made the internet a fortress belonging to the cloud and not to the end-users and local computers, transforming the web in a global medium of consumerism, and not in a technology that people can use to enhance their local computing environment while still being able to communicate through the wire in the context of fine-grained permissions granted by the end user.