|
|
|
|
|
by jampekka
499 days ago
|
|
> In order for a PWA to be normal and usable, it must be available offline, open in a window without browser chrome, have similar performance to a native application, be launchable via a shortcut on the host OS, and respond to the mouse and keybaord shortcuts the way you'd expect. I think I've just described... an Electron app? You've just described a PWA. You can install them as a host OS shortcut, they run without browser chrome, should have performance equal to Electron. Also if you really want extra bloat and faff, any PWA is trivial to turn into an Electron app. Most of PWA criticism is based on misunderstanding PWA capabilities. |
|
I admit I didn't realize creating a shortcut to a PWA was already supported as it's not pushed very hard. In Chromium it's buried under dots, "Cast, Save and Share" (which is a bizarre mashup of disparate functions), and finally "Install page as app".
The window that loads still has browser chrome, in the form of a back, refresh, and three dots button. As soon as you navigate somewhere, even within the same app, the url bar appears again, but you can't edit it. It seems that to be able to always hide this bar, you'd need a way to differentiate between "internal" links that should navigate within the page, and external links that should open in a browser.
I tried turning off my internet, and neither figma nor openDAW showed anything more than a blank page, which confirms my feeling of uncertainty around PWAs, namely, how do you know what will actually work offline. It feels fragile, like if I reset my browser or my clear my cache, my installed applications will disappear. I'm not sure I'm comfortable with the blurring of the lines between bookmarks and installed applications.
All this is of course addressable with a lot more infrastructure and work from browser and OS makers. To me it seems like a lot of development to end up with something that behaves a lot like Electron, with the added easteregg of being able to access applications in a browser, without intending that anybody actually do so.