6 ms·
People whining about Electron is a pet peeve of mine for this reason. Electron exists because of the sorry mess of half-supported fragmented junk that desktop U
by api 7y ago
People whining about Electron is a pet peeve of mine for this reason. Electron exists because of the sorry mess of half-supported fragmented junk that desktop UI development has become. If you hate Electron don't blame Electron. Blame OS vendors.
- tomc1985 7y agoElectron hater here, desktop UI has always been super fragmented. Electron does cross-platform, and it lets people deploy their cheaper-to-hire web developers on desktop tasks, plus its free, hence its popularity. As much as I love other toolkits I'm not sure anything else checks those boxes QT comes close, but it ain't free. WinForms also comes close, but its old and whiny kids think its ugly. GTK comes close, but you can't use your web people to program it...
- Klonoar 7y ago> References QT as a solution > Calls web devs cheaper to hire, a gatekeeping tactic that shows up in every discussion like this (market salaries actually indicate the opposite is true here...) > "whiny kids" Yup, this seems par for the course. Desktop UI has to be willing to compete on Electron's merits, that's the game now. It will die otherwise.
- coldtea 7y ago>Desktop UI has to be willing to compete on Electron's merits That's a pretty low bar. None amazing desktop UI I've seen has been non-native.
- Klonoar 7y agoThen you're using a select few apps that fit your use-case. The merits of Electron are explained, at length, elsewhere, and the market has spoken multiple times as to why people pick it over alternative environments. Microsoft outright courts the HTML/CSS/JS crowd because they know it matters, and that's where the developers are. Google does the same, FB has been pushing the model for native apps in more ways than you can count for years now. It's not going away, and it's eating every Desktop GUI framework's lunch. A GUI framework (like AppKit) cannot stand against something like that without Apple actually investing in it. AppKit (or whatever they use, ala Marzipan) needs to strive to be as easy and straightforward to use as the web, or it won't matter. Comparatively few people actually care about writing a GUI and just want it to work, the interesting things are elsewhere... so you need to offer something that "just works" and is easy to debug. (Qt is not this) Also, "Native" is a horrendously overloaded term in these discussions. When saying it in the context of Qt, for instance, it's incorrect - Qt draws custom controls on the different platforms. A good example that I hit daily is Dolphin, it simply doesn't look correct on Mac even with the Qt switch. It feels like a Windows program shoved into a foreign OS, much like GTK does on Windows.
- coldtea 7y ago>Then you're using a select few apps that fit your use-case. Please enlighten me of the apps I miss. >It's not going away, and it's eating every Desktop GUI framework's lunch. Not for any app that matters. Form-based apps and glorified chat apps like Slack and FB, perhaps...
- arvinsim 7y ago> glorified chat apps like Slack Sure, let's just call the app that many many tech teams use as an app that doesn't matter. It's not perfect. But it's certainly not insignificant.
- zapzupnz 7y agoIt's also not a poster boy for a good app, Electron or not. It looks uglier than plenty of native chat apps and still manages to take up an amazing amount of RAM doing absolutely nothing.
- pjmlp 7y agoIf you mean Slack, they have announced at Google IO that they will migrate to a PWA. Check the PWA and what is coming to the Web talks. One reason less to bother with Electron.
- ilikehurdles 7y agoSo they're moving from one chromium-wrapped desktop web app to another (or, really, they're changing the backing library/framework). Do desktop PWAs have access to native APIs as a native app would? That's a draw of Electron but not sure why anyone would want it in an application like Slack that works just fine in a browser tab.
- pjmlp 7y agoI only have one copy of Chrome on my computer. Yes, PWAs have different levels of access to host APIs.
- tomc1985 7y agoDismissing others' thoughts is a gatekeeping tactic, too...
- mrmonkeyman 7y agoAs someone moving from backend development to fullstack / frontend I have to say the pay is increasing lately and, dare I say it, the backend part of applications is the easy part nowadays. As a "web developer" (who also does QT/C++) I also am the only one who can communicate like a human. So not only am I responsible for coming up with an entire UX, I frequently am also the one coming up with the specs with the C-guys because the "regular devs" are too autist/unwilling to have normal conversations and/or giving up on their petty ideas about how the world should work. Frontend work, in my case, is WAY more complex than the backend.
- Vogtinator 7y agoQt (LGPL-3.0, some parts GPL-3.0) is as free as GTK (LGPL-2.1+)
- pjc50 7y agoI'm the greybeard that likes WinForms, but it has a couple of massive blind spots due to its age - the big one is that it's not "responsive", and copes badly with high-DPI displays. This is still visible all over Windows 10, as they only managed to convert some of the system config UI to Metro. Responsiveness is extremely hard, and modern web and Electron have mostly got it working pretty well. This does come at a cost of complexity and CPU. To me there's probably more mileage in trying to resource-constrain Electron than build yet another new system and wait for its adoption.
- spiralganglion 7y agoHighly agree with the last point. Electron bloat and slowness are real, but that’s not the whole story of why so many Electron apps are awful platform citizens. If one were so motivated, they could make an Electron app that passed the smell test, and didn’t try to run megabytes of node_modules-black-hole JS per tick. It still wouldn’t be as nice as a true native app, but it’d be a lot better than the usual offenders.
- api 7y agoYup... a shitty app written in X is a shitty app where X is any language, platform, or framework. You can write non-shitty apps in Electron/JS but you have to actually pay attention to resource use, reducing dependencies, styling to match the host platform, etc.
- mikepurvis 7y agoIt's truly hilarious how much legacy config/settings stuff there is hanging around in Windows 10. I kid you not, the click path for me to change my USB network adapter between DHCP and static IP is: Windows key -> Gear icon -> Network & Internet -> "Ethernet" -> "Change adapter options" Now I'm in the legacy "Network Connections" explorer window, and I double-click my adapter to open the legacy Status panel, where I click "Properties". Then select TCP/IPv4 and click "Properties" again, and finally there's a panel to actually switch it and enter network details.
- Crinus 7y agoAs a user i'd rather blame the developers who made the choice to use Electron despite its drawbacks for users been repeatedly mentioned every single time Electron itself is mentioned.
- m_fayer 7y agoNot sure why this is getting downvoted I think it's dead on. Yeah desktop's always been fragmented, but it hasn't always been in today's state of utter neglect. Look at Windows - wpf was powerful, elegant, and ahead of it's time. Now it's abandonware with nothing to replace it (please don't say UWP). To reiterate - right now the world's dominant-by-a-mile desktop OS has no viable modern 1st-party native UI toolkit.
- pjmlp 7y agoI will say WinUI instead then. https://github.com/microsoft/microsoft-ui-xaml/blob/master/docs/roadmap.md https://github.com/microsoft/microsoft-ui-xaml/blob/master/d...
- Kipters 7y agoI wouldn't say WPF is abandonware, just look at the efforts to modernize it with .NET Core 3.0 (and as someone already pointed out: WinUI)
- m_fayer 7y agoAFAIK, those efforts are just trying to make it usable from Core 3.0 - they're not doing anything to address the verbosity and performance issues.
- Kipters 7y agoThey've also been doing work for making it easier to call WinRT APIs or introducing UWP controls (through XAML Islands) in both WPF and WinForms... A bit of a stretch, but this way they're both inheriting all the work they've done before for UWP. I think they also announced something about DPI awareness that won't be backported to classic .NET because it required runtime changes
- m_fayer 7y agoDoes any of that sound like it's even in the neighborhood of what's needed to you?