8 ms·
I always get a chuckle at all the hate Electron gets on HN, or in very technical communities. At the end of the day, so many people fail to realize the success
by bluetidepro 5y ago
I always get a chuckle at all the hate Electron gets on HN, or in very technical communities. At the end of the day, so many people fail to realize the success of Electron is in making desktop applications so much more approachable for those that are mainly front-end focused developers/hackers.
I have played around with Electron in the past for fun "nothing" projects, and also tried to understand what many on HN would want as the "correct" way to build native apps. It's an indescribable difference how much easier Electron is to get up and running from my experience, as someone who primarily does front-end work.
Are there better ways to build native apps? Of course. Electron still solves a massive problem for many developers and end-users that I don't understand why so many here get on their high horse refusing to acknowledge. It's similar to PHP hate to me. Of course there are better languages to use, but things like WordPress using PHP are so much more approachable for so many developers.
- test_account_j 5y agohaven't you noticed yet? HN is full of techies who think front-end should barely be a separate discipline
- smachiz 5y agoBecause the worst abusers of Electron can afford to have dedicated teams for platforms. Do you think Slack can't hire enough developers to build native platforms for Mac/Windows/Linux? Spotify? Discord? I get it for small dev teams to build a cross platform app - but at a certain size, I don't understand why they can't go build native apps that aren't garbage.
- plopz 5y agoDidn't spotify used to have a native platform application?
- smachiz 5y agoYes. Same with 1Password.
- bluetidepro 5y agoCorrect, but I'm also not saying that isn't true? They aren't mutually exclusive. Electron can still be good/useful for many people, and companies like Spotify/Discord/Slack can still get criticized for not hiring devs to make dedicated teams to build native apps. Just because some companies are choosing the technology in ways people don't like, doesn't make the technology itself bad. I hardly ever see anyone phrase it that way, though. It's only "ELECTRON BAD", not "SLACK IS BAD FOR USING ELECTRON."
- smachiz 5y agoIt's a crutch so big companies can cheap out and ship subpar, lowest common denominator software that is bloated and slow. It is good for small teams to be able to rapidly build cross platform apps that are good for MVP. Slack is bad for using electron.
- finiteseries 5y agoI absolutely believe Slack can’t hire enough developers to build native platforms for Mac/Windows/Linux without hilariously extensive & expensive retraining. Have you tried to hire developers with eg AppKit experience in the past 5 years? I have, twice. Neither were small companies. Both routes went electron because 95% of the native Mac developer pool works in Cupertino or China, and it’s a kiddy pool at that.
- smachiz 5y ago:shrug:
- asoneth 5y agoThey're a business so the question is not whether they technically have the cash available to do a thing, the question is whether doing that thing will yield the best return on investment compared to all the other things they could do. Specifically, if Slack created new development teams to build native clients for Mac and Windows, would that effort eventually yield enough additional revenue to be worthwhile? (Mind you, I don't know the answer to that question because I don't know Slack's financials, just pointing out that it's the real question governing whether they should use Electron.)
- friedman23 5y ago> At the end of the day, so many people fail to realize the success of Electron is in making desktop applications so much more approachable for those that are mainly front-end focused developers/hackers Front end focused? It makes desktop apps accessible period. Someone inevitably mentions QT in these conversations. Find me a single successful QT based app. Electron is really the only cross platform option.
- eitland 5y ago> Someone inevitable mentions QT in these conversations. Find me a single successful QT based app. Let me start with Telegram. The ux is universally liked (yes, even by the Mac crowd!) > Front end focused? It makes desktop apps accessible period. If someone just wanted to create cross platform applications quickly and push them upon people who don't have a choice (i.e. in an enterprise) there always used to be Java Swing as well. Far easier than Electron, even approaching VB6-simplicity in GUI design, but with a sane language behind. So, GP was right: It makes it easier for frontend devs. Edit: yes, a lot.
- JCWasmx86 5y agoMusescore? Wireshark? Transmission? TeXStudio?
- friedman23 5y agoI don't want to be dismissive and those apps are definitely successful and good at what they do but they all look like they were designed in the early 2000s. And I'm pretty sure some were.
- foxfluff 5y agoAnd that's good. Early 2000s had a consistent no-nonsense look made for real work, instead of this fad with every application trying to mimic a phone app or a startup landing page.
- 5y ago
- pif 5y ago> the success of Electron is in making desktop applications so much more approachable for those that are mainly front-end focused Enabling more sht being shipped is not a badge of honor for a technology. Same goes for Visual Basic and Go, and for all those effort to dumb down software development when what the world needs is for quality* in software to be valued over quantity.
- _zamorano_ 5y agoEasier? You can get a functional, graphical, Hello World! WinForms app running in like 10 seconds, ok, perhaps 20 seconds if your computer is slow I can teach anybody with very basic programming skills to build something fancy in like 2 hours No idea about Mac environment, but I guess it must be similar.
- anonymouse008 5y agoFor some reason Windows apis are like hieroglyphs to me — coming from Mac Storyboard/ UIKit conventions… Any advice?
- _zamorano_ 5y agoThe WinApi is too low level for most developers and situations. Usually, you won't need to directly call any API function to build even a complex program. .NET comes with everything included
- jahewson 5y agoI’m not trying to ship hello world, I’m trying to ship a 100k line frontend with 60fps animations, PDF export, video and audio recording, and 3rd party html rendering. Try doing that with WinForms - the batteries are very much not included. Windows APIs are just a mess. And if I succeed then my prize is what? I get to do it again on two other platforms?
- vb6sp6 5y agoI only have so many gb of ram which means i am limited in the number of electron apps i can run on my system
- criddell 5y agoThe anti-Electron crowd understands the reasons Electron has taken off just as you understand that there are benefits to native apps. It's just a matter of different priorities. I don't think anybody is on a particularly high horse.
- mirashii 5y agoI believe this community fully understands everything in your post, and believes Electron is a bad decision anyways. Why? Because when we're talking about these things, we're *users*. As a user, I don't care how easy it was for a developer to write the software. I care that it respects common UI conventions. I care that it's secure. I care that it doesn't use unnecessary resources. I care that it integrates well with the rest of my operating system. I care that it supports i18n and accessibility controls. Electron is approachable because it eschews all of these things in favor of convenience to the developer, but these things are important to the user, and the user is who we should care about. We write software to serve users. We need to be asking ourselves if the benefit of the barrier to entry on producing applications be so low as to give up all the benefits of more traditional ways of application development (I'd argue no) and whether it's worth trying to bridge the approachability divide with easier APIs for developers and making the development experience as user friendly as possible (I'd argue yes).
- friedman23 5y ago> As a user, I don't care how easy it was for a developer to write the software Most users only care about features which is directly connected to speed of software development. You are speaking for all users but I'm certain that things you are saying are not true for example, users don't care if an app uses "unnecessary resources" unless it's fast enough. Users definitely do not care about UI conventions, most probably don't even know there are conventions. As for security, if you are using anything written in C or C++ you already lost there.
- JCWasmx86 5y agoI think it is already about such basic, intuitive things like the order of buttons, is it [OK][Cancel] or [Cancel][OK]? Will pressing Alt+F4 close the entire window? (See MS Teams, if you open the settings dialog and and to close it). You can find probably dozens of such examples
- dumpsterdiver 5y ago> Most users only care about features which is directly connected to speed of software development. Considering that the average user refuses to wait longer than 2 seconds for a webpage to load, it's clear that people do care about more than just features. To dismiss that reality seems like a very "let them eat cake" attitude to take. Users care very much when an application makes their computer run sluggishly, and despite your disbelief, users actually do notice when an application looks different from their other applications, and they may or may not care about that. You say that users don't even know that there are UI conventions, but let me ask you this: if you created an application on a mac and moved the three buttons to close/minimize/maximize the application window from the upper left to the lower right, what percentage of users do you think would notice that UI convention change? I'm willing to bet about 100% of them. UI conventions are more than just a pretty facade, they provide hints about functionality using symbols and patterns that we've grown accustomed to, and don't even think about consciously. As for security, it's never a good look to point out how bad one thing is to justify another thing being bad also. Just because we've already lost doesn't mean we should give up.
- tomc1985 5y agoAs one of those haters, I would have so much less of a problem with it if it wasn't a sledgehammer of a platform, and a resource hog. IMO it's just plain disrespectful to users to inflict them with this crap Also, I'm pretty sure it's easier to fire of Visual Studio and start clicking-and-dragging controls onto a form in C#, and you get a better programming language with it to boot. It's just too bad WinForms/WPF aren't cross-platform... Why are so many people slobbering over web developers and front end people any way?
- mikojan 5y ago99.999% of what Electron does may be achieved bundling your content into a single HTML file on your desktop. For the remaining .001% you are paying a ridiculous prize in terms of performance and space utilization. Electron does not solve a "massive problem". It solves a very minor problem. But web developers are precisely the people who rather than studying the target's platform or studying their own platform (you probably don't need Electron) would just do the most nonsensical thing that comes to mind.
- zzyzxd 5y ago> so many people fail to realize the success of Electron is in making desktop applications so much more approachable for those that are mainly front-end focused developers/hackers. I don't know who failed to realize this. I rarely see comments refusing to admit that "building one electron app is easier than building 3 native apps for Windows/Mac/Linux". Most of people criticize the use of electron when megacorps undervalue user experience and make all sorts of excuses to use electron for the sake of cost saving in software development. In many HN posts, as users who are technical enough to understand the impact of electron apps on their computers, I think the general idea is that native apps simply feel better and electron should not be encouraged.
- 2OEH8eoCRo0 5y agoMany people fail to realize that the user just does not care. Does the app work? Non nerds do not care that it's not elegant under the hood or that it eats memory and storage. > Are there better ways to build native apps? Depends. Is it a choice between using Electron or drowning in complexity and not shipping anything at all? An app is better than no app.
- jmfldn 5y agoWe get all that and we're saying that it comes with massive tradeoffs. The cost is massive resource footprints, inflexibility, sluggish performance, harder to reason about from a security or performance point of view because of the tower of software and abstraction you're building on top of. Many reasons. I'm not saying it's not useful but I'm not falling over myself to argue we should all be using this stuff.
- geodel 5y agoTrue. I also get a chuckle, when people say housing, medicine, healthcare, daycare college is too expensive. Imagine if these good things simply did not exist. It would be much worse. So whiner need to shut up already and buy a new computer annually where electron run normally.
- pdimitar 5y ago> I always get a chuckle at all the hate Electron gets on HN, or in very technical communities I, too, can tear down a straw man. But there are economical factors at play here and it's strange that you think that technical workers are oblivious to them. Electron is compounding a problem that is not going away soon, or ever. People will not buy more expensive laptops to do their work (many simply can't). In the era of remote work the costs more laptops that can take the load that an Electron app introduces, is swallowed by employers -- and some don't want to do it. This pressure is mounting, I assure you. Employers keep complaining there are no employees -- and what they actually mean is "we can't find people with laptops good enough for Slack and Discord and Excel and we don't want to buy them those". And I am not talking about programming jobs -- there it's usually very well understood that you have to buy the staff good machines (although I've been issued some pretty average machines but hey). So employers keep screaming that they need more and better workers. The potential workers are like "eff this crap, I am not getting paid enough to buy a MacBook", plus many people have enough common sense not to reinvest their income in tech that company should have bought them in the first place. How do you think this tug of war is going to end? By proclaiming "coding with Electron" (or PHP / WordPress since you mentioned them) is a basic human right? (lol) At one point something will give out and I can assure you it's not going to be society. It's going to be the tech companies who can't ever be bothered to invest a little bit in creating a cross-platform GUI toolkit. So yeah, keep going on and on about how the technical people don't understand important things. From where I am standing it looks like that it's you who doesn't get it -- you are only bringing up ease of development, and there are much more factors in this situation.
- SavantIdiot 5y ago> I always get a chuckle at all the hate Electron gets on HN, or in very technical communities. Oh so true. It is such an indicator of lack of experience, too. Clearly they have never tried to support a cross-platform application, because Electron is utterly seamless from Win10 to Mac to Linux, even for USB and serial hardware. It has shaved literal man-years off development of our primary application at my company. It's like haters are just admitting how junior they are.