This meme is really only true for things like Slack where the app is just the webpage in an app, and even then it’s not quite true because Electron is a lot heavier than a webpage because it has to now run the webpage and the app - which I think is terrible.
But then also, Electron enables actual apps to be developed using web standards - which I think is great.
TLDR: Use Electron to make apps, not glorified webpages.
For Slack it does. Building an app via Electron means it’s cross-platform by default, so Slack doesn’t need to invest in separate platform teams to solve the same problem (Windows, macOS, Linux).
Electron also has better support for things like native notifications, video and voice calls, offline capabilities, and to other native APIs etc that are either unsupported or spottily supported via the browser.
It’s a much more lightweight option for building cross platfrom apps than Electron. Heck, even Tauri is better than Electron even though it also uses web technologies for UI.
It has all this support for native platforms yet it’s always a clunky memory hog that makes zero effort to respect the design language of the OS it’s running on.
I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.
It has all this support for native platforms yet it’s always a clunky memory hog
Maybe so but it has improved a lot over time. The app devs share some responsibility too so it’s not all on Electron.
zero effort to respect the design language of the OS it’s running on.
That’s the Dev’s design choice, not a limitation of Electron.
I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.
I don’t disagree but at the end of the day it doesn’t matter to enough people for it to become an issue. People are used to Slack and the way it works.
Moreover the cost of building the same app 2x or 3x simply doesn’t make business sense.
I’m a web developer but is there no concept of classes, libraries, etc in other programming languages?
What happened to writing the “core” of an app that doesn’t rely on UI then simply writing the front ends for each platform you want to support?
You keep saying Electron is used for better compatibility and listing out Linux, Windows, macOS but here’s the thing — most companies are only targeting those. That’s just three (if you don’t write for a million desktops on Linux).
Is it really so hard to support just three environments with only the UI being tailored for the OS it’s running on?
Honestly, it just feels like poor tooling and a poor excuse.
This meme is really only true for things like Slack where the app is just the webpage in an app, and even then it’s not quite true because Electron is a lot heavier than a webpage because it has to now run the webpage and the app - which I think is terrible.
But then also, Electron enables actual apps to be developed using web standards - which I think is great.
TLDR: Use Electron to make apps, not glorified webpages.
??
Slack IS an app.
??
Slack IS a webpage.
Calling Slack a webpage is like calling an office building a room.
Slack is just as much a complex app as anything else even if it’s built on web tech and standards.
The point is that Slack does not take advantage of Electron at all. It’s no better than running it in a browser.
For Slack it does. Building an app via Electron means it’s cross-platform by default, so Slack doesn’t need to invest in separate platform teams to solve the same problem (Windows, macOS, Linux).
Electron also has better support for things like native notifications, video and voice calls, offline capabilities, and to other native APIs etc that are either unsupported or spottily supported via the browser.
Flutter?
What about Flutter?
It’s a much more lightweight option for building cross platfrom apps than Electron. Heck, even Tauri is better than Electron even though it also uses web technologies for UI.
It has all this support for native platforms yet it’s always a clunky memory hog that makes zero effort to respect the design language of the OS it’s running on.
I’m on macOS, I want the app to be a native macOS app. If I wanted it to look like a webpage, or Windows, or Linux GTK then I’d switch to one of those and expect it to match those paradigms.
Maybe so but it has improved a lot over time. The app devs share some responsibility too so it’s not all on Electron.
That’s the Dev’s design choice, not a limitation of Electron.
I don’t disagree but at the end of the day it doesn’t matter to enough people for it to become an issue. People are used to Slack and the way it works.
Moreover the cost of building the same app 2x or 3x simply doesn’t make business sense.
I’m a web developer but is there no concept of classes, libraries, etc in other programming languages?
What happened to writing the “core” of an app that doesn’t rely on UI then simply writing the front ends for each platform you want to support?
You keep saying Electron is used for better compatibility and listing out Linux, Windows, macOS but here’s the thing — most companies are only targeting those. That’s just three (if you don’t write for a million desktops on Linux).
Is it really so hard to support just three environments with only the UI being tailored for the OS it’s running on?
Honestly, it just feels like poor tooling and a poor excuse.