Not really that worried but rather curious about your opinions. Use what suits your demands best.
But for starters:
Electron is a framework based on Chromium used to develop desktop apps. Examples of apps that are built on Electron are Discord, Element Desktop, MS Teams, Slack, GitHub Desktop, Atom, VS Code and counting
If there’s a PWA or Electron version of an app, I go with the PWA 100% of the time.
What plugin do you use in Firefox to add PWA support? That’s the ONE thing keeping me from ditching Chromium on desktop. Firefox on Android has PWA support (yay), but desktop still does not (boo).
I tried one or two add-ons in the relatively recent past, and neither worked to my satisfaction. Curious if you’ve found a better one that will bridge the feature gap and let me ditch Chromium.
I’m using PWAs for Firefox but I have barely used it yet to be honest. And one needs to download an app for that besides the plugin to get it working.
Besides that I do recall that Linux Mint shipped (and maybe still ships) a tool to create Firefox PWAs with. I never really tried it tho and I’m not sure if it is available for other operating systems beside Mint.
But similar to you, I’m in somewhat of an experimental phase concerning Firefox PWAs
Cool, thanks.
Yep, PWAs for Firefox is one I’ve tried and it did not work for me (forget the exact issues, but they were insurmountable). Even with the helper app , which I think was required to add/manage the launchers to the application menu, it just didn’t work out.
I’ll dig around when I have some more time to see what Linux Mint ships. Chances are it can be installed on other distros or at least compiled.
Edit: https://ubuntuhandbook.org/index.php/2021/01/install-linux-mints-web-app-manager-ubuntu-20-04/amp/
If it was because it kept opening random websites from your history, I helped diagnose that bug not long ago. And the dev got it fixed!
I’m happy with the plugin, and it has completely replaced my Edge PWAs. Even better, unlike Edge/Chrome, I’m allowed to rename the shortcut name or modify the url before creating the shortcut. And to open PWA links as tabs. Only drawback I’ve found so far is that the PWA runs on its own Firefox profile. Not a big issue with Firefox sync.
The PWA support on android isn’t great either. At least compared to chrome or even Samsung Internet.
Agreed. You can’t install as an app, just a home screen shortcut, notifications don’t take you to the web page when clicked
I use PWAs for some things, but I wish they worked better
About 8 years ago now I ditched .NET, Java (Android), and Objective-C (iOS) to JS in frontend and backend with NodeJS and PWAs and couldn’t be happier for a dev perspective.
All frontend is just one code. Sure, you have to manage browsers compatibility, but it’s not a major issue. Mobile users and desktop use the same application. I didn’t know Firefox dropped PWA on Desktop, though most of my desktop users were using Edge or Chrome. I can only think of one client that used Firefox and it worked fine, except for Firefox has some out of spec
EventSource
bugs. Safari has gotten better (especially after 16.4) now where I would Firefox as the leading source of browser issues when developing. Also, Safari 17 looks to finally treat PWAs with some legitimacy. We even have Push notifications now!I don’t understand Firefox’s decision, but Firefox on Android still supports PWAs on Android. But if they no longer care about desktop PWAs then I’ll give Firefox less importance for desktop environments. Probably doesn’t mean much in testing, but that means if I find a Firefox exclusive bug related to desktop (eg: mouse), I might just ignore it.
I would highly recommend PWA over Electron. There’s nothing better than getting clients to transition to your software from a competitor with just a simple PWA with no install. I also support as far back as Chrome 88, which means any EOL ChromeOS device is still supported.
You might need newer APIs depending on usage, but I haven’t found anything that I need to tap into some sort of native runtime for core usage. Maybe WebRTC runs better on newer Chrome, but nothing really requires native code. It’s just easier to maintain one single codebase without locking out potential clients because of OS (desktop or mobile).
Oh, cool. I’ve barely scratched the surface on that topic, therefore I got a few more questions concerning PWA and Electron apps:
Are PWAs “only” websites that are shown as an app or do they have features that would distinct them from “normal websites”?
Can PWAs reserve disk space for offline downloads for example (Spotify has got a PWA but that one is mainly their website shown as an app). And I probably can’t install a listener via PWA like Discord does for their Rich Presence, can I?
I expect the last one to be a no because that’s probably not what you’d use a PWA for as far as I understand, but I’m especially interested about the first question
Are PWAs “only” websites that are shown as an app or do they have features that would distinct them from “normal websites”?
In theory, they’re the same. In practice, user agents (read: browsers) can dictate extra, uh, privileges to PWAs. For example, Safari Mobile won’t allow push notifications for just websites. As a dev, we don’t control this aspect. We just code "isPushAllowed()` and continue from there. As a marketer or apps/software I learn what browsers and environments allow what, so I know they need to install as a PWA to get access to some APIs.
Can PWAs reserve disk space for offline downloads for example (Spotify has got a PWA but that one is mainly their website shown as an app).
Branching off the other point, it’s up to the user agents. For example, Safari Mobile will delete storage for websites after a certain time (I think 6 months). But PWAs have unlimited lifespan (a misconception years ago). It’s not what you asked (storage size vs lifespan), but it gives you a clue to how browsers manage this. I personally haven’t experienced much issue with storage, but I do know there’s even a File API which gives access to your actual drive. I would imagine if browsers are allowing us to access “unlimited” storage over the file system, the restrictions for the Local Storage aren’t that important.
A short search brought me here which mentions 80% of total disc space for Chrome, 50% for Firefox, and 1GB for Safari. Nothing here talks about PWAs, but I’d imagine Safari is the only one worth concern. I can research more if you want, but it’s not in my use case to concern myself with local storage.
Edit:
And I probably can’t install a listener via PWA like Discord does for their Rich Presence, can I?
As long as there’s an API, for better or for worse, we can do it in PWA. From what I read, there doesn’t seem like anything like this in the Web API. Background tasks are currently somewhat restricted in the interest of battery conservation of mobile devices. From a theoretically point, an app running in the same environment as the PWA could have somethig shared between them. There are API in addition to Web APIs, like extensions, but there’s probably a lack of normalization for detecting what is running on the device.
The idea of making everything in the Chrome Addon/Extension API in to real API is part of Product Fugu and from looking Chrome never built anything to expose what native system processes are being run with a web site. It’s honestly such a specific (and invasive) prospect I doubt it’ll ever happens. The closest is
chrome.tabs
but there’s no web equivalent.Sharing of other PWAs running probably won’t happen because sandbox/isolation is pretty core to Web right now. Cross-app data sharing is something I don’t know about yet, but maybe if PWAs mature we’ll see that. Then games and media players can “broadcast” to other PWAs data like presence. I’d imagine that branch from the Web Share API.
I’ll take this opportunity to state my bias. I believe in the Web standards, meaning it shouldn’t matter what browser or environment you use. They should all be the same. I want this for myself and express this to my clients.
But because standards are “living” it’s always a moving target. What is supported today by your preferred setup may not take full advantage of what a Web App provides. But the idea is, after a while, you will gain those features later in your setup as browsers get better.
This is something I’ve seen in practice since I wrote a lot in PWA and told my clients that eventually it’ll be in Safari, but I’m not going to write a native app for outdated browsers. And the investment paid off. Before, Safari users didn’t have Wakelock, Push, or good WebRTC experience, but today they’re mostly indistinguishable from Chrome Android. I didn’t have to change a single line of code to make that happen.
Woah, thanks so much for that detailed comment. I really learned a lot today (and my day has barely started yet).
I had to write a small shop web app for my programming finals using C# and Razor pages. I then had an internship where my team and I developed a Blazor app using MudBlazor which was a really cool experience. It was back then when I when I really felt how Firefox and Chromium have their little differences since I developed it using Firefox and it was broken on Chromium.
I’ve since not done much tho because I’ve focused more on the networking path but that info was really exciting me to try setting that up on my test project just for fun ^-^
Anything that requires me to add a plugin to my browser is 100% off the table for me.
So you don’t use plugins at all. Not even U Block Origin?
That’s the one and only, that project has my trust like no other.
Tbh, I don’t use that many plugins either. Besides U-Block I got:
Plasma Integration so I can search bookmarks via KRunner;
Dark Reader because I don’t like bright colours;
Gesturify because I love mouse gestures;
Some translator (I’ve forgotten their name)
Simple Tab Groups to stay organized;
Progressive Web Apps for Firefox (but I’m currently testing which plugin works best)
Honorable mention: Tab Discard, which I used to have but Firefox kinda has something similar now (or at least Floorp has, they also got their own Workspaces so I also don’t need STG any more)
Firefox PWAs (via plugin)
What do you mean? Is there a plugin for that?
Firefox Web-Apps over Electron apps
I don’t think Firefox’s browser engine supports anything like that currently.
Yes, there’s a plethora of plugins. Most of them do need a backend executable installed to be working tho.
What do you mean “via plugin”?
The advantage of browser pwa is that they work without plugins.
Separate app is good for separation, and can at times oder better performance. Browser allows for low barrier, existing browser use. Either can be preferable.
Firefox doesn’t support “installing” web apps as PWAs like Chrome-based ones do. There are plugins to provide that functionality, which I assume is what OP is referring to.
Yeah, Mozilla thought about bringing official support but discontinued is afaik.
That’s extremely unfortunate. I can’t see how it would be all that difficult to implement (says someone who absolutely would be lost looking at Firefox’s source code lol)
I was not aware Firefox removed native support for it. At least I thought it supported it.
From https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Installing
Installation is supported on all modern desktop and mobile devices. Whether the PWA can be installed by the browser on the operating system differs by browser/operating system combination. Most browsers support installing PWAs on all operating systems—Chrome OS, MacOS, Windows, Android, Linux, etc.—directly or when an extension is installed.
Firefox requires a PWA extension.
Apple is unique when it comes to PWAs: PWAs can be installed on macOS from any browser except Safari. The opposite is true for iOS versions before 16.4, where PWAs could only be installed in Safari. PWAs can be installed on iOS/iPadOS 16.4 or later from any supporting browser.
Apparently, it’s not an official extension by Mozilla either, but published by a third party.
I don’t even really need it to be fully compliant, really. Just let me launch it in a standalone window without the URL, tab, and status bars. :shrug:
deleted by creator
Both, yeah. Shortcut icon based on the favicon (or whatever the dev configures in the manifest) and a dedicated window without the URL, tab, and status bars.
deleted by creator
Electron is usually more up to date than Steam’s browser engine
Just had a throwback to when I jokingly wanted to watch YouTube via Steam’s overlay browser and YouTube complained about the browser being outdated.