17 comments

[ 4.1 ms ] story [ 47.6 ms ] thread
Ahhh get over it.

Electron is awesome. It lets me build powerful desktop apps in JavaScript. Nothing else lets me do that so well as electron.

And let me say something to you if you're concerned about its memory usage:

Don't use it. No one is forcing you.

If you don't use it then you won't need to whine about it.

Did you read the article? The author addresses this exact argument (being able to reuse web dev skills on a desktop app):

> Okay, sure having a plumber cut out a square wheel from a plank is also a lot easier to do than having a woodworker carve a perfectly round wooden wheel, but it is gonna be one hell of a bumpy ride, and square wheels are actually fine, right?

I suppose that might loosely qualify as “addressing” the argument. It's really just a joke though, isn't it? Enabling rapid cross-platform application development with web skillsets is not really in any way similar to using square wheels.
i don't think it does. as the gp said, nobody is forcing you to use something with square wheels.

the problem isn't electron, or electron developers. it's much larger than that.

If you need Javascript to build powerful desktop apps and you can't do it as well in another language maybe you should leave programming to those who can do it.
I understand the performance concerns but comparing a graphical IDE to a command line based text editor is rather dishonest.
They're all graphical IDE's
Excuse my ignorance, but last time i checked Atom and VSC are as much as text editors as Vim/Emacs/Sublime/Nano(only Nano having no plugin support). Also Vim and Emacs does have native GUIs.
It surely is. The new desktop Skype is electron. why?

I can see why it appeals to front end web devs who feel the need to play at writing desktop apps - but Microsoft of all places, where they have an existing native client, now decide to go backwards and use electron.

Makes sense I guess when you consider their whole revamp of the iOS app took a useful business tool and tried to make it into an app teenagers use to share photographs of their genitals.

Edit: On Mac at least, you can still get the pre-Electron Skype.

Go to https://www.skype.com/en/get-skype/, pick "Get classic Skype" in the blue button/dropdown combo thing.

You're welcome.

I feel like the snark directed at front-end devs was a little uncalled for, as if somehow they're lesser programmers. But I do agree that users of Skype (and Slack) would benefit greatly from them ditching Electron and going native (and my RAM would be a lot happier too).
Not at all. I have great respect for front-end devs, just as I have great respect for master builders. I just don't expect either of them to bake me a wedding cake, or write me a desktop application.

The same snark would be directed at people thinking GWT is/was a good solution for Java dev's trying to create web GUI's without understanding html&css.

Honestly, many apps could just as well be developed with red[0], maybe not in javascript, but with the smoothest cross-platform compilation I've ever seen.

Runs in 1mb of ram, and the download size of most apps made with it won't exceed that either. It's no C for sure, but it's really amazing to have cross-platform gui-support bundled into the language itself (windows & mac is ready, android and linux are in the works)

So yes, no re-use of webdev skills, but a really fun language, and immediate results - had I known about red before javascript, I would've never picked up JS.

[0] http://www.red-lang.org/

For cross platform I've started looking at Free Pascal with Lazarus. It uses the native GUI so it looks like a MacOS app and also a Windows app. It also has support for Android and iOS. It may get passed over by most because it is based on Pascal but overall, I think it is great (from what I've done with it)
That sounds interesting - if I can compile to everywhere from linux, I might give it a shot. The language itself or its reputation is not a problem to me, as long as the syntax isn't quite brainfuck-like and the performance not completely abysmal, I'm fine.
Unfortunately you aren't able to do that from Linux. It is a write once, compile everywhere language. If you want iOS and macOS you need to have a Mac to compile. Same goes with Windows. Here is a list of all platforms that the Free Pascal compiler is available on (and thus you can compile for): https://www.freepascal.org/download.var
personally, i feel that "X is cancer" is a gross and callous sort of language to use.

i agree that electron is a suboptimal choice for a variety of reasons. however, one should probably ask a) why aren't these electron-based tools written with another technology and b) would they even exist at all were it not for electron?

perhaps the answer to the "electron crisis" isn't whining, but developing a new and better option (or renovating an existing one) that developers will actually want to use.

> perhaps the answer to the "electron crisis" isn't whining, but developing a new and better option (or renovating an existing one) that developers will actually want to use.

This is a huge part of it.

If I want to make a cross platform app, and I don't want to spend 1/3rd of my dev budget on cross-plat abstraction layers, then electron solves a real problem.

I can spin up multiple teams, hiring talent that understands 3+ different UI toolkits in depth, write 3 different apps, or use Electron.

I can spin up a huge cross-plat team that papers over the file system, app permissions, authentication, the clipboard, sharing, media playback, and text editing, or use Electron.

Now as features get more advanced, platform specific implementations will be needed, but to get up and running quickly, and to get something that people want to use, Electron is a great solution.

As for the article's comment

> There is nothing desktop like about Electron applications, they always feel out of place, even the simplest elements like the native menu bar is not available.

Every app now days tries to be its own thing, Chrome feels out of place, Firefox feels out of place, Notepad++ is maybe the one app I use that feels like a Windows app. FWIW Microsoft Office, the parts of which, combined, likely make up the most commonly used Windows app, has always felt different from the rest of Windows, because they acknowledge that specialized apps can use specialized UIs.

In the case of Slack, the UI is designed around what the product does. And a browser as a chat room is obvious, chats have been hosted in HTML like containers for ages, and a browser engine supports all the types of things users want to do in chat now days. If you had to choose a tech stack that:

1. Is primarily text based 2. Allows for quick styling of text 3. Supports media inline with text

Then a browser fits all of those pretty well. The new HTML5 features that make video chat possible are just icing on the cake. Browsers have made what once used to be a huge differentiating factor (video chat) into something that almost feels commoditized. Not to discount the huge amount of work that is still needed to get video chat working, but working video chat used to be an idea that got huge amounts of startup funding, but now with modern tech stacks, it is measured in engineering sprints.

What to do video chat natively? Well, I've certainly noticed that all the native video chat apps on my PC are sorta iffy. The effort to make it work was put into Chrome, why shouldn't everyone else benefit?