edit: No really, why? Genuinely curious. You have to at least come with one reason after writing that.
edit: No really, why? Genuinely curious. You have to at least come with one reason after writing that.
b, they are slow
c, they don't integrate well with desktop
d, they put 1 of not 2 additional layers to execution ( a browser in the background + the node nonsense stack )
In short, they are wasteful. I want to get the speed of my desktop back; it is ridiculous that a 3 year old laptop with a high end ssd lags running these crappy electron things; all of them just keep swallowing memory like there's no tomorrow.
a & b. Yes, Electron is going to be slower than writing something in a lower level language and yes, it's going to take more memory due to the JS runtime. But it's entirely possible to create an efficient piece of software that can be easily extended (examples: Visual Studio Code, Slack).
c. I don't even know what this is supposed to mean. Electron is built _specifically_ as a way of writing desktop applications and it works on just about everything. I even wrote an Electron app that runs smoothly on my old Raspberry Pi 2.
d. You don't get a full browser, just the WebKit rendering engine and V8 with Node.js bindings. Node.js has proven itself to be a worthwhile venture. A number of companies now use Node.js in their backend. It's definitely not perfect nor is it the fastest thing in the world but it isn't so terrible as to toss it out entirely.
[1] http://photonkit.com/ [2] http://reactdesktop.js.org/demo/
"Because this library is being currently built for Electron and NW.js, the examples and demos on this site will only work properly in Chrome."
/me closes tab
It's fast, and isn't entirely an enormous executable (40-ish MB).
However, most Electron apps are slow, laggy, and 100+ MB.
It seems great when used by an expert, or great for a stopgap when you need to get something into public hands, but you plan on replacing it with something smaller and faster.
Yes, because it's common in (Node)JS land to add many dependencies. I guess MS simply coded most of the stuff on their own, which keeps the size low.
Also, they use TypeScript and I heard that it reduces function polymorphism, which can increase performance (but I don't know how much). Also, as far as I know, VSCode runs plugins in different processes, which makes the main process snappier.
But I heard that the static typing (implicitly) leads devs to write more monomorphic functions, which seem to be much easier to optimize by the JavaScript-VMs. But yes, you can write such code in JavaScript yourself.
The thing is that writing polymorphic stuff is a bit more effort in TypeScript, if you don't want to throw 'any' around everywhere.
VS Code does, its fast, extensible and has been the launching pad for some very cool things like a unified syntax protocol.
Atom does, but quickly becomes unuseable with too many extensions, and so I find myself not using it. What did the extra bloat give it over something like Sublime?
It happens frequently, regardless of platform and regardless of the underlying platform's actual strengths and weaknesses.