this post was submitted on 25 Aug 2023
53 points (100.0% liked)

Asklemmy

43918 readers
1928 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
 

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

all 26 comments
sorted by: hot top controversial new old
[–] ptz@dubvee.org 21 points 1 year ago* (last edited 1 year ago) (2 children)

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.

[–] zyratoxx@lemm.ee 9 points 1 year ago* (last edited 1 year ago) (1 children)

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

[–] ptz@dubvee.org 4 points 1 year ago* (last edited 1 year ago) (1 children)

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/

[–] emptyother@programming.dev 3 points 1 year ago

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.

[–] AngryDemonoid@lemmy.lylapol.com 4 points 1 year ago (1 children)

The PWA support on android isn't great either. At least compared to chrome or even Samsung Internet.

[–] pandarisu@lemmy.world 1 points 1 year ago

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

[–] Kissaki@feddit.de 5 points 1 year ago (1 children)

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.

[–] ptz@dubvee.org 10 points 1 year ago (3 children)

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.

[–] zyratoxx@lemm.ee 5 points 1 year ago (1 children)

Yeah, Mozilla thought about bringing official support but discontinued is afaik.

[–] ptz@dubvee.org 4 points 1 year ago

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)

[–] Kissaki@feddit.de 4 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] ptz@dubvee.org 4 points 1 year ago

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:

[–] ShortFuse@lemmy.world 5 points 1 year ago* (last edited 1 year ago) (1 children)

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).

[–] zyratoxx@lemm.ee 1 points 1 year ago (1 children)

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

[–] ShortFuse@lemmy.world 2 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] zyratoxx@lemm.ee 1 points 1 year ago* (last edited 1 year ago)

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 ^-^

[–] jtk@lemmy.sdf.org 5 points 1 year ago (1 children)

Anything that requires me to add a plugin to my browser is 100% off the table for me.

[–] zyratoxx@lemm.ee 0 points 1 year ago (1 children)

So you don't use plugins at all. Not even U Block Origin?

[–] jtk@lemmy.sdf.org 2 points 1 year ago (1 children)

That's the one and only, that project has my trust like no other.

[–] zyratoxx@lemm.ee 1 points 1 year ago

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)

[–] WhyJiffie@sh.itjust.works 3 points 1 year ago (1 children)

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.

[–] zyratoxx@lemm.ee 2 points 1 year ago

Yes, there's a plethora of plugins. Most of them do need a backend executable installed to be working tho.

https://github.com/filips123/PWAsForFirefox