In 2008, this was absolutely the right choice. Firefox was stuck in a feature creep rut, and although Chrome hadn’t come out yet, Apple cared enough about the Web that Webkit development was fast.
The problem was that during the first few years of Google contributing to webkit, Apple more or less let Google take over the development. I can’t find the stats now, but the drop in commits once Google started Blink and took all the devs with them was huge. Apple didn’t bother picking up the development properly, and it took just two years before the “Safari is the new IE” blog posts started showing up. Now (despite service workers) it’s even worse. And the fact that web devs can’t debug the weird, old and buggy implementations without physical Apple hardware (and you can’t test with other webkit browsers), adds insult to injury. (For comparison, MS provides VMs with every recent version of IE and Edge.)
Macro perspective, with no regard for feasibility. One way of doing this from a user standpoint would be this:
Create a reusable Firefox flatpak runtime (probably impossible), or use something like this. The idea is to separate the browser engine/UI and the user settings. Bundling an entire browser for a webapp just because I want an icon is silly (and can already be accomplished today with nativefier.js).
Create an application that uses this runtime to create flatpak-builder-compatible (I guess?) files that will ultimately create tiny local flatpaks that uses the runtime, but allows separate cookies, service workers and cache. This meta-application can look kinda like alacarte, and allow icon upload, custom naming, etc., but instead of creating a desktop file, it will create a flatpak manifest and build and install it.
This would by my dream scenario. Sadly, I can’t really do anything to make it happen except cheer on the sidelines.
I have to ask, what exactly is a “Progressive Web App”? Do you just want to be
able to do something like that thing that died out a few years ago where
people made shortcuts to a web browser with the name of the website? Is there
something in particular that makes a website into a “Progressive Web App”?
Based on the information at that link, I still have no idea what exactly makes
something a “Progressive web application” as compared to a regular website.
Regardless, based on the information at that link, “Progressive web
applications” are already supported in Silverblue, as well as normal Fedora.
The command to use a “Progressive web application” is firefox.
The point in the last few comments are obviously that people want to be able to set up a sandboxed browser for certain websites, maybe somewhat untrustworthy ones, whether or not those qualify as PWAs or not. (So possibly the topic title is misleading).
flatpak run org.mozilla.Firefox --command="firefox --ssb URL"
or something like that and write a .desktop file to show the launcher in the app drawer.
But I think that the right way to support PWA for Freedesktop/Flatpak is doing something like WebAPK, that is what Chrome for Android uses to “install” PWAs.
Browsers like Firefox and Chrome to do so should add a button that takes the current PWA in the browser, build a Flatpak app from it and install it with an API provided by Flatpak (as software centers like Plasma Discover and GNOME Software do). All the PWAs installed by a browser should be layered on top of the same base (a Flatpak platform like org.mozilla.Platform?). Each PWA must have its permission policy, for example one can access the microphone and another one not.
Check how Android and Windows 10 install and integrate PWAs. They are not web sites, they are applications built with web technologies, they integrate with the system, they work offline and eventually sync stuff when a connection is available again. No, opening a URL with the browser has nothing to do with this.