So, instead of writing great multiplatform desktop app in, say, Qt, and writing great Web frontend, you write half-baked desktop-web hybrid that doesn't feel great anywhere. Awesome.
Whats wrong with QT on other platforms? If it is about the looks, it looked pretty good on Windows as far as i remember, as for speed, it is mostly down to the developer not the language.
I wouldn't write something in QT nowadays, mostly for shallow reasons.. it just feels silly to have that bubbly interface running on anything past Win XP.
Atom and VS Code don't "feel great"? Yes, there are lots of shitty Electron apps out there, but don't the good ones prove that it's possible to write good ones too?
I haven't tried VS Code, but Atom definitely doesn't feel that great. Looks like a lightweight editor, feels like a big, heavy moloch.
Atom's selling point to me was always its easy hackability, and that's where Electron tremendously wins: doing hacks, software meant to be set up quick'n'dirty, personal experiments, stuff done because "why not". I'm glad that Electron (and Atom too) exists because of that. However, that's definitely not a reason to write any serious tools in it. Using any Electron app with my 8GB RAM is a nightmare, and most of them look so out of place that (from the UX perspective) I don't know why they were put outside of the browser in the first place.
[eidt]
Oh, and the main thing - VS Code and Atom definitely don't share their code with any Web version running in browser. Doesn't that make the original argument moot?
vscode does share code with the browser-based editor used in MSFT sites like VS Team Services and onedrive. It was actually first released there as a browser-based editor before being adapted for use in a standalone desktop application.
I'm with you here. Electron has gotten a bad name thanks to resource hogs like Slack, but it can also be used to create amazing multi-platfotm desktop apps. VS Code is a great example of Electron done right - compared to the full VS it absolutely flies, while still being packed with features and being very extensible.
Cos by using JS you don't need low level knowledge of how computers work and you don't have to plan too far in advance. People are not big fans of learning, specially the things they deem arcane.
That's a great reason for Electron to exist and I'm all for it. If you want to mess around, do silly stuff just because you can, it's amazing that such technologies exist and you can do magic with pretty low learning curve. Heck, I've been doing stuff in the past like complete smartphone UI with Node and Chromium, just because I could and wanted to experiment.
However, that's a really bad argument when it comes to software development of proper tools that need to be developed and maintained and actually used by people.