4 ms·
I think Electron is quite amazing. It does not deserve this bad reputation that it for some reason has on HN.
by waspight 5y ago
I think Electron is quite amazing. It does not deserve this bad reputation that it for some reason has on HN.
- barrenko 5y agoWe can do better.
- TheRealNGenius 5y agoIf this were the case, there would be no case for Electron
- pjmlp 5y agoElectron exists because some developers don't care about their users, that is its case. Why bother with web widgets, or running daemons with local browser when one can contribute to Google's takeover on the Web.
- porcoda 5y agoAmazing and bad reputation are not mutually exclusive. Electron is an impressive engineering accomplishment, but it also has some dimensions that not everyone likes. Electron is great if you're a developer who wants to write apps in javascript+HTML+CSS and put developer preferences over preferences of users. Not everyone agrees that the decisions behind Electron and using it are good decisions.
- dragonwriter 5y ago> Electron is great if you're a developer who wants to write apps in javascript+HTML+CSS and put developer preferences over preferences of users I’m so tired of this. Sure, the case for Electron is that it allows leveraging web-targeting code and skills, which makes more devs able to work on desktop software give the current prevalence of web skills and makes their job easier given the prevalence of web-targeting code that can be reused. But this is in no way user hostile: it means the cost to develop software with any given function is lower in developer hours (and, for commercial entities paying for development, actual $$), which means it is more likely to get done than otherwise, and that it is more likely to be a sustainable proposition to maintain on an ongoing basis. Given that users generally have a preference to have software with the functionality they desire developed and maintained, this is conducive, rather than hostile, to user preferences. It’s hostile to the preferences of developers who have emotional attachment to particular nonweb (or just emotional hostility to web) technology, who are left in the dust, in terms of meeting users actual needs, by those adopting Electron. Or, less emotionally, it is hostile to preferences of developers who have a substantial investment of time and effort into building marketable nonweb skills in desktop app development, and are finding those skills marginalized in the marketplace by adoption of Electron.
- zinekeller 5y ago> I’m so tired of this. ... and so do I, as someone supporting a company, looking at why users complain that their shiny new M1 laptops' batteries still sucks. I can tolerate Electron if it's battery-efficient, but everytime we analysed which apps are battery-hungry? Electron apps always tops the list. Not to mention genuine UI concerns like why are some developers insisting on a thin grey font that's genuinely unreadable? And even if it has a decent UI, navigation outside of a mouse-keyboard duo is never there. We have to file multiple bugs on behalf of disabled users because most web devs don't care about accessibility. In a sense, I wouldn't complain about Electron if these three problems (battery life, genuinely user-hostile UI, poor accessibility) didn't exist (or are few and far between that it became an annoyance instead of being monsters), but here we are. Again, I don't want to waste dev time on inconsequential things like most UI toolkits are insisting. I've worked on apps with Qt and it genuinely sucks, and web development has been genuinely a better development platform (still sucked, but much less), but developing an application predicates on that application not being user-hostile, and Electron (and to be honest, web in general) doesn't encourage the developers to think about these issues.
- jcelerier 5y agoPeople say that but I have yet to see a C++/Qt app take more time to develop than an Electron app. Case in point: ripcord, a discord AND slack client, developed by a single person in this stack. In the mean time Slack has rewritten their Electron app from scratch, what, three times for the performance problems it has ?
- porcoda 5y ago> I’m so tired of this. So am I. Not user hostile? Since when is it acceptable to assume that users don't care about efficiency? People care about battery life, people care about responsiveness, and people care about interface consistency. You may be tired, but I'm happy that slowly the tide is turning and people are less friendly to things like Electron that put developer and business priorities before anything else. I also don’t get the argument that it is a good thing for users to make desktop development open to the glut of web developers we’ve created. Again, that is a developer- and business-centric argument. This feels like saying we all should accept a lower quality of software simply to match an average skill level for a large collection of available programmers. Is it really unreasonable to set our expectations of quality higher than that which an average web developer can (or wants to) achieve?
- AnIdiotOnTheNet 5y ago> Electron is an impressive engineering accomplishment ...it is? How? It's just a web browser hacked up to allow shit we decided it was a terrible idea to allow a web browser to do just so it can be a GUI for a local application that's probably an order of magnitude or more smaller than it is.
- pjmlp 5y agoElectron is the third coming of MSHTML packaged apps and XUL, those died, Electron will eventually follow them.
- grishka 5y agoNo, shoehorning a hypertext document viewer and a bunch of macros into being an application has never been a good idea. Imagine building an app in Word with macros written in its version of visual basic and then being serious about it and distributing it as your official and only desktop experience. That's how I feel about all this electron crap.
- BatteryMountain 5y agoExample: On Fedora, I'd install the Arc Theme + some fancy icon pack. The majority of the applications uses the operating system's theming system, which makes all applications look the same. The same buttons, same spacing, same font sizes/types, same colours, same systems shell/window decorations, scroll bars etc. It all behaves and feels native. Most of them also uses the same keyboard shortcut system and accessibility features. Point is, the whole experience is very consistent. They use a tiny amount of disk space and a tiny memory footprint while running. Problem is, the moment I install any electron/web-based app (Slack, VS Code, Gitkraken, Spotify, Steam etc), they look out of place. They do not conform to the rest of the system. They ignore basic guidelines, spacing is all different, different themes, no native window dressing/menu's, most don't use the tray/notification system correctly etc. Basically they stick out like a fat wart. Nevermind the resource usage and general laggy UI from these application. Yes, they lag and are slow on all OS's and yes we can notice it. Web tech is cool for what it is within the scope of a webbrowser, but outside of that it is a steaming pile of ...
- AnIdiotOnTheNet 5y agoIn the 90s and early 00s it was a sign of professionalism that applications used native OS widgets and respected the theming choices of the user. Sadly, that all went away (about the time the iPhone was released?) and we entered a UX dark age where users only ever get at most 2 choices about theming and UI is considered part of your brand. People used to say one of the reasons Linux Desktop was shit was that it had so many different look-n-feel's for its disparate applications. Now it is one of the most consistent. People used to say one of the reasons Java was shit because it didn't use native widgets[0] and looked out of place, but now that's the default even for native software. Now we live in an age where developers loudly proclaim their love for bundling an entire web browser as their UI, nothing even remotely resembles the native look-n-feel, and they consider adding a bespoke 'Dark Mode' theme some kind of actually noteworthy achievement. If personal computing survives the next few decades, future historians will judge us very poorly. [0] It could, but people used Swing in practice.
- jeroenhd 5y agoElectron is amazing for developers; less so for the end users. You get faster iteration and more features at the cost of humongous system resource usage. Running several Electron applications, each with their own slightly-outdated Chrome engine, is terrible for battery life and available system resources, but you do get fully-featured applications in no time. If your users run 32GiB of RAM and at least 8 cores, then Electron should probably be the obvious choice of platform. For most applications, though, I don't think this approach is necessary or even a good idea.
- sneak 5y agoIt can also download and execute arbitrary javascript from the web, outside of a normal browser sandbox, effectively turning every app into a potential vector for system takeover, because it is RCE by design.
- thiht 5y ago> less so for the end users Speak for yourself. As a user I love Electron apps for all the features they bring out of the box to developers. The alternative to a full featured Electron app is not a full featured native app, it’s no heavy client at all, because almost all the native frameworks suck in more ways than Electron does. Also I don’t give a crap that my applications all look the same as long as they make sense. And most of the criticism of « buttons that don’t look like buttons » seem just like hidden nostalgia to me, I’ve never seen a button and wondered if it was a button. There are tons of discoverability issues in modern design, but the look of buttons is just not a problem.
- movedx 5y agoYou've just described your self as a developer, not an end user. End users are Sharon in HR or Bob in the warehouse. The comment you replied to is referring to end users who are generally not-technical people and just want to get work done. Your comment, instead, talks about the developer friendly features of Electron.
- slewis 5y ago