3 ms·
But don’t you believe in using the right tool for the job? JavaScript is barely acceptable on the web, but again it’s a necessary evil as you can’t easily use
by Rjevski 8y ago
But don’t you believe in using the right tool for the job?
JavaScript is barely acceptable on the web, but again it’s a necessary evil as you can’t easily use anything else.
But why use an inadequate tool on the desktop? The perceived time you save upfront would backfire later on.
Now I’m not saying go and spend a year learning another language just to make a side project (by all means use JS or whatever you’re familiar with), but if you’re making a production-grade app, PLEASE use the right tool for the job and it ain’t JS.
I, for one, am sick of JS & Electron contaminating apps I use daily like Spotify, Slack, Signal, Telegram, etc. I wouldn’t mind it too much if this was a niche thing and there were alternatives, but there aren’t. JS on the desktop should die.
- aaron-lebo 8y agoI don't really think JS is bad. I actually prefer it to most languages. It's fast, concise, flexible, and has lots of modern features. It has some weak spots, but all languages do. When people are so ideological about the language it tells me they either haven't used it much or they are unrealistic about flaws in other languages.
- Rjevski 8y ago> haven't used it much I actually used it, and hated it quite a bit (although ES6 solves most of my gripes with it). I understand and appreciate the necessity of JS on the web. JS is also the perfect tool for that job as it’s been designed with the web & browsers in mind, closely tied to HTML & CSS, and while it has overheads those are a necessary evil in an environment where it’s commonplace to execute untrusted code. But it’s however completely inadequate for the desktop. Your users already trust you since they run your binary Electron wrapper, so the “untrusted code” argument goes out the window. You’re basically taking on an extreme overhead (in terms of battery life and RAM usage) for no benefit at all. HTML/CSS is not that great either, IMO native elements provided by the OS deliver a much better UX and actually behave consistently across the entire OS.
- roryisok 8y agoThe right tool for the job is very opinionated. Clearly an awful lot of desktop devs think js is the right tool for the job because electron is everywhere and projects like this very one we're commenting on exist. My opinionated view on "the right tool" comes down to the distinction between foreground and background apps. I do think electron is not the right tool for the job when it comes to Spotify, because Spotify is something that mostly runs in the background and should be super performant. On the other hand I use vscode all day every day, and I'm happy for it to use as much ram and cpu as it does because its always in the foreground - it's the main thing I'm using when I use it Edit: I should add I think we need to find more comparisons to continue this electron debate though. Vscode is always the hero and slack and Spotify are always the villain
- akavel 8y agoI'm there with you being sick of Electron apps on the desktop. The problem is, compared to the JS ecosystem, GUI apps development on desktop with any native technology I know is super bloated, slow and crappy. While I've just started trying to use Elm recently, and the speed of iteration when using it totally amazed me, so that now I cannot longer say that I don't understand why people do that. As much as it pains me.
- jgresty 8y agoI couldn't agree more. Ever since switching from Slack to wee-slack I have never run out of memory on my laptop, which used to be a problem every once in a while when running so many instances of electron. Also Telegram (at least the Linux desktop client) is not electron, it is QT. Maybe some problems that people link exclusively to electron are not limited to just that platform.