I understand your arguments in the case of e.g. a simple todo app, but I want to talk about moderately complex projects (think e.g. Obsidian)
So I'm going to play devil's advocate:
- Native is better, yes, but native is also another form of vendor lock-in, and basically gives more power to Apple (since multiple native apps is not feasible in many cases and iOS/MacOS tends to be the choice when developing for just 1 platform)
- Among multi-platform options, Electron is among the most (or the most) mature, supported and documented, and allows developers to leverage knowledge of open web standards and a vast ecosystem of libraries, thus speeding up development by a good margin (which is good for users). This ofc. doesn't rule out other alternatives, but surely this is a valid argument?
- In theory, apps solve problems. I never found myself our saw anyone claiming that they can't solve a problem with an app because the binary weights 300Mb more than what it should and it takes up 700 Mb of RSS RAM in 2024. This could be an argument thou for people with poor internet connections and old banged up computers, but is my perceptions that most of the haters don't fall into that group. Am I wrong?
- Empirical evidence says it is possible to do accessible, fast, secure apps with Electron. The fact that many aren't can't be Electron's fault?
- No matter what is the domain, the market is saturated, chances of failure are enormous, and in many cases Electron is just either the only option, or the least risky shot on an already super risky endeavor. Can that be blamed on developers?
I am looking for counter arguments. Thanks.
On resource use:
If it’s just one app then ok. But if it’s several (VS Code, Slack, Figma, …) then it adds up.
Plus there are other things I want to use my laptop’s resources for (hello docker).
It’s simply not reasonable for apps to assume they’re the only resource heavy app I have running.
On being accessible / fast / secure:
It may be _possible_ to write electron apps that are these things, but is it easy? Does electron encourage it? Or does the path of least resistance lead to a bloated mess?
(Genuine question. I’ve never written code that uses electron. My point is that _possible_ isn’t good enough, especially when speed of development is such a selling point.)