this post was submitted on 20 Nov 2023
23 points (96.0% liked)
F-Droid
8080 readers
13 users here now
F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.
Matrix space | forum | IRC
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I’m sorry but that not at all how PWAs work at all. PWAs are just websites. There is no APK. At its core it is a bookmark to a website without the browser UI.
Chrome definitely offers a lot more APIs than other browsers to allow a website to interface with a phone a lot better. Often outside of the standards the web has set. That can make browsers that follow the standards feel behind (Firefox) and really emphasizes browsers that purposely hinder their browser to incentivize native apps (IOS Safari).
Oh there is a APK, when using Chrome or Samsung Internet (installed via Samsung Store). The store is generating and signing the APK. Only with such a signed APK OS Level functions will work. A good example is the share_target functionality. If this is enabled by the PWA and installed as APK, you can share text and links with the PWA. The same applies for PWAs on the Desktop, for example with Edge on Windows.
If you use the same PWA with Firefox or Samsung Internet installed from Play Store, it can only add a shortcut on the home screen, without share_target functionality.
Additionally some service worker functionality is very basic on some browsers. On one hand this is bad for functionality, but good for privacy. Assume a PWA uses a background sync service for example. This can exchange a lot data and sync it with any target in the web, without user consent. This is only a small part where service workers do not respect users privacy.
If you look at that we come in fast steps to this insane and total crazy manifest v3 webextensions. They are completely privacy nightmare at least how Chromium designed them. The Mozilla implementation is a lot better, but incompatible to Chromium.
Welcome to the ugly world of new web technologies.
Well that just sent me down a rabbit hole.
My first foray into PWAs was this year but it was a short lived endeavor when I found out I had no hopes of feature parity across devices for core functionality and decided to switch to React Native instead. I didn’t know android did that with PWAs.
Thanks for the explanation.
From my point of view, this is all relatively unstable and not really well thought out, far from being reliable. I have spent the last 2 weeks trying to convert my Crossbowser bookmark backend (https://codeberg.org/Offerel/SyncMarks-Webapp) into a functioning PWA. Very disappointing. Don't ask me how many nerves I've lost in the process. At least you can now use the WebApp as a PWA. The share_target also works if it was installed via Chrome or Samsung Internet. It also works offline. These functions are even retained if you subsequently uninstall Chrome/Samsung Internet. The WebApp then asks which browser wants to take over the functions. This also works with Chromite or Firefox. Strange but what the heck. At least you can now share any URLs with the backend. This also works offline, even if this is more of an Edge case for bookmarks.