12 ms·
Electron hater here, desktop UI has always been super fragmented. Electron does cross-platform, and it lets people deploy their cheaper-to-hire web developers o
by tomc1985 7y ago
Electron 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.