5 ms·
Electron exists because there's a horde of developers whose only tool is a JavaScript hammer, so every problem looks like a nail. That's how you end up rewritin
by encom 6y ago
Electron exists because there's a horde of developers whose only tool is a JavaScript hammer, so every problem looks like a nail. That's how you end up rewriting `dd` for Chrome[π].
π: https://www.balena.io/etcher/ https://www.balena.io/etcher/
- dmitrybrant 6y agoMy god... a 200+ MB install footprint, 200+ MB of RAM usage, requires a beefy GPU just to render its window. How did we get here?
- brodock 6y agoI think we got there also by desperation of lacking good cross-platform GUI toolkits. The current state is, you either use something that looks like Windows 95 in all platforms, or web app. What the web made possible is to anyone to create a decent custom UI with little effort. I still remember how messed up was to create a custom component for Java Swing, which I believe is still one of the easiest to do. How would you do that for QT? GTK? WxWidgets? etc
- dleslie 6y agoI'll take Win95 in a heartbeat; consistent, accessible, responsive and clear. Vastly superior to the majority of web interfaces.
- kilburn 6y agoAlso totally inflexible, you better have the right-sized screen/resolution: too small and you can't see that "ok" button; too large and you'll have a ridiculously small and crammed winform to fill/see your information.
- pjmlp 6y agoMost cross platform toolkits support layout managers, since Motif days. Actually even WinForms supports them, even though too many are happily doing fixed canvas positioning without using them.
- dleslie 6y agoWindows has shipped an accessibility magnifier since the 90s, before hidpi was a thing.
- smt1 6y agoQt is (still) very good at being cross platform and native looking. Actually, I think qml is easier than the webstack for newbies, perhaps not C++ though.
- krzyk 6y agoTake a look at Telegram client, looks great on Linux, not sure how it looks on macos or Windows.
- morpheuskafka 6y agoInteresting Telegram has both a native (Swift/Obj-C not sure which) and an cross-platform-codebase app for macOS. The former is called Telegram for macOS and the latter Telegram Desktop. Both are on the app store even. So it would actually be a very good case to compare performance, etc. The native one presumably shares a lot of code with iOS which is probably why it exists at all, and it supports secret chats. Otherwise they have similar but slightly different design and features. However, I think the Telegram Desktop client is not Electron either, it is just regular C++ compiled on different systems.
- krzyk 6y agoYes, Telegram Desktop is a normal C++ app: https://github.com/telegramdesktop/tdesktop https://github.com/telegramdesktop/tdesktop So a cross-platform is quite easy, Electron one would need to be tested for different webviews on each system.
- mekkkkkk 6y agoI might be crazy, but for me it's faster and more convenient to download and run Etcher than to read up on dd command arguments and device paths. Storage space is plentiful for me. RAM isn't an issue as it's only run once in a blue moon. Is it crazy bloated and resource hungry for what it does? Undeniably! Does it matter? Not for me. Electron resource use can be painful for apps that are running constantly, like Discord, VSCode and Slack. For utilities like Etcher, who cares.
- davegauer 6y agoI realize I'm replying six days later - but I can't help mentioning that the "dd situation" is even crazier than it first appears: you can just use `cp foo.iso /dev/sdb` or `cat > /dev/sdb`. https://unix.stackexchange.com/a/189091/220387 https://unix.stackexchange.com/a/189091/220387 https://eklitzke.org/the-cult-of-dd https://eklitzke.org/the-cult-of-dd
- morpheuskafka 6y agoThe actual duplication is done in the Node.js runtime, not the V8 runtime inside of the Chromium GUI layer. I do wish they had a command-line version that just ran node without Chromium, but there is a use-case to have a simple foolproof application like this; these days there are a lot of people who need to image drives like this and would be best not to mess with dd on their first time. And dd doesn't exist for Windows so you've got to use some tool or another like this.
- eitland 6y agoIn fairness, for some reason Etcher works sometimes when other things don't. It might be because it is slower and doesn't overheat my usb sticks, I don't know, but if nothing else works you can try etcher. (Not sure how I found out, can have been something I read or a recommendation by a colleague 3 a 7 years ago or something.)