6 ms·
I think what Electron brings to the table and what most other contemporary technologies fail at, is cross-platform functionality with minimal effort. In contra
by e_proxus 9y ago
I think what Electron brings to the table and what most other contemporary technologies fail at, is cross-platform functionality with minimal effort.
In contrast to most other non-constructive comments about how Electron sucks, I think the focis should either be how to improve Electron (as mentioned by others) or on how to improve the cross-platform story for more native technologies.
What makes Electron so attractive is that it is so very close to write once, run everywhere. No other technology today comes close, which I think is evident based on the number of Electron apps out there. There are some native languages which have great cross-platform stories (e.g. Go), but few of them seem have a great fronted story. Today the problem is that all major OS platforms are pushing their own framework and language walled gardens, but I think most developers would like their apps to be cross platform if they could. This is an example of where the community has to do it themselves because the major OS developers seem to have no interest in cross-platform tools.
What would it take to achieve something like Electron but native? Why hasn't it been done yet?
- deleted 9y ago[deleted]
- jolux 9y agoThere's React Native, which has unofficial bindings for different desktop environments.
- izacus 9y ago"minimal effort" - that's exactly the keyword here. It allows absolute minimal effort and laziness from developer at the expense of end user. Electron is a technology that favors developer user experience over end-user user experience. And you wonder why it is hated? It's like shitty iOS cordova packaged web apps - they also require "minimum effort" and "cross-platform functionality". At the tiny expense of horrible user experience. > What would it take to achieve something like Electron but native? Why hasn't it been done yet? Are you really that ignorant? Never heard of Qt, SWT, GTK and myriad of other cross-platform tools and widgets used to develop cross-platform apps since the 80s?
- borisj 9y agoIt seems hated by some developers such as yourself, yet users of electron apps seem to quite like them, a lot. Not sure how slack's,spotify's, and visualcode's success indicate a horrible user experience. What Qt application has as much reach as slack? Every GTK app I've ever used outside of GNOME stuck out as out of place with the OS. Maybe some Qt apps flew under my nose but I'd say the same about them, at least to the extent that they always made it obvious via certain UI elements that they were Qt apps.
- davemp 9y agoBlizzard's battle.net client is a qt app. I don't think it's available on linux though.
- oneweekwonder 9y ago> I don't think it's available on linux though. https://appdb.winehq.org/objectManager.php?sClass=version&iId=28855 https://appdb.winehq.org/objectManager.php?sClass=version&iI... Yes, feels strange to think that you need to run a qt app against wine because the publisher does not support gnu/linux. But it is available on linux via `apt install wine` and downloading the exe.
- howderek 9y ago"What Qt application has as much reach as slack?" - KDE - AMD's Radeon control panel - VLC - VirtualBox Qt apps feel far more native than Electron apps in my opinion.
- epicide 9y agoKDE: not at all comparable to Slack's reach. Not an app. Not even cross-platform? AMD's Radeon: admittedly, I have not used this. VLC: hardly any UI. Mostly menu items. VirtualBox: hardly any UI. Mostly menu items. Edit: formatting.
- 9y ago
- cmiles74 9y agoIn my opinion, the primary driver for Electron is the Javascript runtime. Lots of people have Javascript experience and Electron makes it easy to use that knowledge to bang out a desktop-like application. The write once, run anywhere angle is compelling as well but that's how web browsers and Javascript work; sure Electron gets to enjoy this but it's a function of this technology stack. I disagree that the comments pointing out the high CPU and memory usage are non-constructive. These are real issues that literally limit the number of Electron apps that can run at a time on a particular machine. Some Electron apps perform reasonably well, VS Code is a good example. But many perform abysmally and Electron is treading dangerous ground by going against the trend of limiting resource usage in order to extend battery life. Indeed, in my experience running a handful of Electron apps is a sure way to shorten battery life. I think that "Something like Electron but native" is a confusing idea. The browser engine that Electron uses is native to the OS it's running on... As others have pointed out, the best we could hope for is some sharing of the runtime that would allow more applications to run simultaneously. You mention native languages that have a good cross platform story and I'd like to see some work toward a UI toolkit that is less demanding of resources. While people like Javascript, I do believe some of them will move to another language if they can do what they need to do: deploy to all OS environments with only minimal code changes. If Electron has taught us anything, it's that customer's don't really care that much about an application appearing to be "native".
- e_proxus 9y agoI think you're right on many points, and I was more referring to the posts just complaining about it being in Electron at all as if Electron was some kind of bad word which should immediately trigger dismissal. > I think that "Something like Electron but native" is a confusing idea. The browser engine that Electron uses is native to the OS it's running on... Here I meant native as in a natively compiled language. The browser is also invisible in this case, and the whole Electron model adds so many layers (which is part of the resource usage problem). > If Electron has taught us anything, it's that customer's don't really care that much about an application appearing to be "native". In this case I meant native as in blending in with the desktop environment, which I think Electron apps are more successful at than other toolkits (which are often natively compiled).