"Desktop apps suck. Instead I want to have to build and maintain two completely separate codebases and then write APIs between them. The frontend should only be able to be run inside a container that Google wrote." - Web developers
@gabek yes, THAT’S the reason they chose the web as a platform 🤣
You could turn this around in many different ways, one of those being “The web platform sucks. Rather than writing one client app and server app, I’d rather write a native app for each platform (5, 6 different apps at this point?) in a different language and ecosystem, supporting many different versions when users refuse to update in order to reach my audience” - native app developers.
It’s equally disingenuous
Everytime the time I contact support for a web service I depend on that has stoped working after a esthetics update, I promptly say: “I’ve tried it on Falkon version X, Midori version Y, Pale Moon version Z, and two mobile browsers.”, to which I’m answered, “Uhum, it works for me here. Can you try it on your Google Chrome®?”
there are multiple mature cross platform toolkits right now, qt, tk, gtk, etc. nobody expect maybe mac users expect that things have a consistent look (even if the toolkits got rather good at this), so even that argument isn't really cutting it anymore.
the only thing the web has over native apps is that it's the first platform where you can ship whats effectively binaries. java (and things like inferno) never succeeded. they were better at almost everything, except the fancy graphic effects department and probably more important, the crucial mistake of not having integrated downloading of new applications into their runtime.
@gabek Web apps ≠ Electron
Web applications can be built using the supported specs around progress web applications (PWAs) and the Web App Manifest file. These can be installed through many browsers (sad to see Firefox remove site-specific browser (SSB) a few months ago). These sorts of PWAs can share resource management with the user’s main browser as well as installed add-ons which is much more optimal than shipping full browser (Electron). PWAs also require very minor switches in a front-end codebase that never warrants “two completely separate codebases” (hence ‘progressive’). When I consider that many apps are just CRUD, I prefer that I have nothing to install but also the app being locked inside a browser’s security model and permissions — versus than trying to isolate an untrusted install with Bubblewrap, Firejail, AppArmor, etc.
TL;DR: “container that Google wrote” is this post straw-manning one way to send a web experience the desktop. There are a lot of valid use cases that can save time & money.
And yet you're steel-manning because how many people actually bother to follow the specs instead of saying “use chrome” or forcing you to use electron?
In my experience the number of people doing so is at or near zero; people have trouble following basic web RFCs, forget following the PWA specs.
At any rate, can I use the PWAs without using a browser beholden to google? Probably not. They might work in Firefox—which is still beholden to google with ~85% of Mozilla's income coming from google—but as you yourself said, Firefox is slowly removing support for things; so you're stuck using chrome(ium).
@nytpu @gabek Why would using Electron make that easier tbh since it has its own quirks specs versus taking the open option of PWAs? I've legitimately used PWAs through Bromite on Android, and toyed with them through Web/Epiphany on desktop. I'd agree that the experience isn't there, but there's no reason it couldn't/shouldn't be--which SSB was axed before it was ever taken out of an about:config flag because of little usage to no suprise (though some Linux OSs were starting to build around this for getting apps). I still use Slack for work through a browser tab.
Though your argument is broader against the web platform as a whole and Google's stranglehold (not specific to desktop apps/PWAs), I won't disagree with any of the sentiment. Firefox is our only honest hope which is a terrible prospect given their trajectory and recent decision-making. There just ain't money to be made in making or maintaining a modern, spec-compliant browser and it's too expensive for a community to realistically undertake. :|
@toastal @nytpu @gabek NeutralinoJS and TauriJs are both interesting in that regard. It uses the in device web view. (So WebKit for Mac, Edge for windows but I don’t know for Linux) . For mobile I’d say you would probably be better off with framework like capacitor.
However, on Mac, you cannot have a neutralino app that will work on launchpad. Although you can put it in your desktop bar or in your desktop.
@louisrcouture @nytpu @gabek I had a lot of issues with Capacitor personally. Apple went from "Death to Flash; long live HTML5" to hostile towards the web very quickly. They have the most minimal PWA support. Without Notifications, we actually had to go native on iOS.
But honestly f*ck Apple in that regard. Webkit is the slowest moving rendering engine. They don't give out VMs to your software or against Safari specifically which has Safari-specific bugs you can't test otherwise. The store publishing story requires their hardware and $$$ (even for FOSS). They are pretty much dead to me 😅
For one of my app, I just felt like a PWA wasn’t providing me what I wanted, didn’t integrate as good, not always working offline, not really an « app feel ». slow performance (even with great lighthouse scores) so I decided to go native. #SwiftUI is a great declarative framework not unlike flutter. It isn’t complete (maybe it is with iOS 15, but haven’t gone until the details) but answers to most of my needs.
It seems that google is now releasing something similar which is #JetpackCompose
even for #PWA google tried to implement a change about connecting the service worker which would have removed the installation possibility for many progressive web including mine at the time. It was very unclear how to fix said issue. It backtracked but it will come back in the future and we don’t know in what form, and whether it will address any issues raised by developers or if it will make a lot of PWA go in the dark.
So yeah, basically, PWA are mostly a google thing, and like many google thing, google can and often do take it away.
The funniest thing to me is that I LOVE that PWAs circumvents the wall gardens that are the app stores while keeping browser features like ad blocking and element hiding. Meanwhile clients HATE this. “We don’t want users to block our ads/tracking” “Users won’t be able to find our app if it’s not in the Play/App Store” Which all of this goes to ecosystem and market issues likely to keep PWAs as second-class.
@gabek sadly, this also applies to mobile developers. Why write an actual app with offline resilience when you can create a shitty webview and call it good?
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!