Live data from Hacker News

Electron considered harmful

drewdevault.com

111–120 of 256 posts

Re: Electron considered harmful

#111

Earlier quoted context omitted.

I think the author really has some valid points and he warns you about the rant part. Valid points are: * Electron is often too much for the purpose * it does not look native and the devs don't care * often there are better tools His points about JS being not a good programming language, meh, the language wars are probably never over #SmalltalkIsStillTheBest

> it does not look native and the devs don't care this is not valid. no need to limit our use case to devs, either. at worst, users don't care. at best, users prefer it. see Spotify, Discord, Skype, Sublime, Chrome, Steam... should i keep going? whenever i open an app that uses entirely native controls i just expect the author didn't want to invest any time into making their app look good.

Native with minimal custom styled accents can be good looking, polished, and professional, and it doesn't throw platform conventions and features out the window to boot. Native looks bad only when the developer doesn't care.

I really don't think its such a great idea to reinvent the UI wheel, throwing the decades of research and refinement represented by native UI toolkits under the bus for the sake of branding and aesthetics, unless you have a good reason — a really good reason, like having to create brand new UI for a task that prior hadn't been performed on computers before.

I also see electron apps as stopgap measure, not a solution, and this feeling is reinforced every time I open up Activity Monitor and see Slack or Spotify sucking up upwards of half a gig of memory while sitting there doing nothing.

Re: Electron considered harmful

#112

Earlier quoted context omitted.

I think the author really has some valid points and he warns you about the rant part. Valid points are: * Electron is often too much for the purpose * it does not look native and the devs don't care * often there are better tools His points about JS being not a good programming language, meh, the language wars are probably never over #SmalltalkIsStillTheBest

> it does not look native and the devs don't care this is not valid. no need to limit our use case to devs, either. at worst, users don't care. at best, users prefer it. see Spotify, Discord, Skype, Sublime, Chrome, Steam... should i keep going? whenever i open an app that uses entirely native controls i just expect the author didn't want to invest any time into making their app look good.

Yeah I agree with you. This is very true in the Windows world, if an app uses entirely native widgets it looks very meh.

However, on Linux and Mac it's a little different. On Mac you'll see many apps compromise their branded style to look more Mac-like in style. Meanwhile on Linux most people use apps entirely fitted for their desktop environment, and then it's branded apps that look out of place. Windows attempted to make it's desktop more this way and failed with Windows 8.

Re: Electron considered harmful

#113
post #69

Earlier quoted context omitted.

JS is a terrible programming language I can never see the point of comments like these. Not one person who reads that will have his mind changed. HTML/CSS can be nice to have in such a situation, although a refusal to learn other GUI frameworks probably makes for a poor (native) developer. No it doesn't. Either the developer benefits or doesn't benefit from "refusing". There's only so much time in the day. I'll refus…

At this point it's like somebody saying "English is a terrible language". Yeah sure but what else are you going to use?

Ugh, why can't everyone just speak a real language, like Korean. Agglutinative languages are where it's at.

Re: Electron considered harmful

#114

I recently had to decide on a GUI technology for a file manager I'm developing [1]. Electron is sexy, but unfortunately takes way too long to start for my purposes. I ended up with PyQt: Pros: + Fast startup speed + I can use Python (and its vast ecosystem) + Qt has good ready-made components for eg. displaying a list of files (which is exactly what I need) Cons: - Compiling Qt (which I have to do for various reasons…

A file manager would not be a good use-case for Electron. Especially if you don't intend to run it in the browser (which really would make no sense.)

For the very reason you outlined - startup times. The average use-cases of file managers are being opened and closed very often. Electron is rather aimed at long-running applications you don't usually restart, like Atom and VSCode.

Microsoft could've ported VS to other platforms, yet they chose Electron. I'm sure they spend quite a while analyzing the requirements and looking at alternatives as well before settling down.

The end result is very lightweight compared to VS and does almost everything users require. VS still starts a lot slower than VSCode for one.

Re: Electron considered harmful

#115
post #22

what is electron?

Downvoted; this question can easily be answered via a search engine.

Downvoted. It's generally considered rude to expend more effort being snarky than answering a simple question.

To the parent: Electron is a framework for building cross-platform desktop apps with HTML CSS and JavaScript in an embedded chrome browsers/node.js environment.

More info here: http://electron.atom.io

Re: Electron considered harmful

#116
post #104

Earlier quoted context omitted.

> JS is a terrible programming language [Citation needed] Sorry, JavaScript may have gotten lucky being the lingua franca of the web, and it might not be perfect or even great, but it's "good enough" for most purposes these days. If it were "terrible" you would expect at least one compile-to-JS [1] to have gained a non-trivial amount of traction by now. The supersets of JavaScript like Babel, TypeScript, and Flow are…

"a variable is not required to have its type declared nor are types associated with properties" (ECMAScript 2016 spec, 4.2)

Are you suggesting all dynamically typed languages are "terrible"?

Re: Electron considered harmful

#117
post #3

This had me for the first half, where the author walks you through the 'case study' applications that offer minimal functionality despite shipping with an entire browser inside. But then the essay turns into a rant. It's 2016, people, the ship has sailed on pretending JS isn't a real programming language. Phrasing the argument the way he does just betrays his smug elitism. The fact is, for many types of applications,…

"Electron is a really good fit: for example, shipping a single-page webapp as a desktop app, a need that surfaces often in today's world, despite his derision of this concept." From a systems perspective that is emminently rant worthy, it indicates the system has completely failed the developer who cannot easily express what they can in a single page web app as a real application in the system.

Yep, all the native toolkits failed, that's worthy of ranting about, but that is not what OP was doing.

Re: Electron considered harmful

#118

Earlier quoted context omitted.

I think the author really has some valid points and he warns you about the rant part. Valid points are: * Electron is often too much for the purpose * it does not look native and the devs don't care * often there are better tools His points about JS being not a good programming language, meh, the language wars are probably never over #SmalltalkIsStillTheBest

> it does not look native and the devs don't care this is not valid. no need to limit our use case to devs, either. at worst, users don't care. at best, users prefer it. see Spotify, Discord, Skype, Sublime, Chrome, Steam... should i keep going? whenever i open an app that uses entirely native controls i just expect the author didn't want to invest any time into making their app look good.

> whenever i open an app that uses entirely native controls i just expect the author didn't want to invest any time into making their app look good.

So much of this! This is my exact sentiment, too! If you want your application to look different from the OS-provided GUI—which I think is a good thing—without investing much effort into implementing your own rendering/painting engine, the web is an excellent platform, not to mention there's much more you gain with it, too.

What bothers me is that the author focuses on a few bad points of electron, whilst there are also many benefits to using it.

Re: Electron considered harmful

#119
post #70

Earlier quoted context omitted.

JS is a terrible programming language I can never see the point of comments like these. Not one person who reads that will have his mind changed. HTML/CSS can be nice to have in such a situation, although a refusal to learn other GUI frameworks probably makes for a poor (native) developer. No it doesn't. Either the developer benefits or doesn't benefit from "refusing". There's only so much time in the day. I'll refus…

> I can never see the point of comments like these. Not one person who reads that will have his mind changed. I wasn't expecting to change anyone's mind with that. There are more robust programming languages that don't have the same inconsistencies and idiosyncrasies and encourages better practices in general (even though it is true than you can write terrible code in any language). > No it doesn't. Either the develo…

    > but consider that the end product is not
    > necessarily meant to be most convenient
    > for the developer.
Sorry, but life isn't fair. Everything including software involves trade-offs, and perhaps ones that you would not have made yourself.

For that reason, your post along with the blog post comes off as a tantrum. And if users really cared about these things, then surely you'd be able to swoop in and capitalize on it. But we both know that's not happening.

Re: Electron considered harmful

#120
post #45

Earlier quoted context omitted.

Yea but look at VSCode, definitely an exception to this. The feel of code vs atom is night and day to me.

Props where it's due! VSCode definitely feels native.

VSCode certainly proves that Electron is capable of going the distance to making an app that feels like native. And it's a great example to read the source and learn how to do that for your own app. It's just a simple matter of programming. ;)
Post reply on HN