4 ms·
>The key benefit of electron is that you can easily build cross-platform apps which run on every notable platform. I've been a bit confused about the draw of t
by afranchuk 9y ago
>The key benefit of electron is that you can easily build cross-platform apps which run on every notable platform.
I've been a bit confused about the draw of this feature. I understand that there are a lot of JavaScript developers out there, and things like Electron allow them to use their JavaScript knowledge to make applications on many platforms. But there are now a large number of GUI libraries (GUI being a typical obstacle for cross-platform support) that can target all these platforms (and sometimes more) as well. GTK+, Qt, and WxWidgets name a few. And they have bindings across many languages! Of course, to make something that's completely custom-looking using these libraries may be more of a hassle than an html/css document.
Maybe Electron's popularity _is_ primarily driven simply by the high numbers of JavaScript programmers out there.
I guess it's like you pointed out: if you can get it to be fast _enough_, it's acceptable. Kind of similar to interpreted vs compiled languages.
- k__ 9y agoIs there a comparison online that shows the platform availability of each approach?
- afranchuk 9y agoWikipedia had this: https://en.m.wikipedia.org/wiki/List_of_widget_toolkits https://en.m.wikipedia.org/wiki/List_of_widget_toolkits (under High-level widget toolkits). Not too detailed though. In terms of language support, I've seen bindings for the more popular ones on all major languages and even some more minor ones. There's probably better comparisons out there; this one doesn't have Electron at all (since Electron is more of an environment/VM than a GUI-only toolkit). Often running in a VM bubble has it's own features/benefits though. For programmer benefits, I can't think of a better example than Smalltalk VMs. But I digress...
- dvfjsdhgfv 9y agoPractically all libraries you mentioned have heir quirks and don't have the native feel, even though they pretend to. Electron apps don't pretend anything, the GUI elements are different but consistent. But apart from that, you're right: the main reason for Electron's popularity is the fact that increasingly more programmers know JS quite well whereas desktop libraries seem less and less relevant each year, which makes me very sad.
- JepZ 9y agoThe problem with Qt, GTK, etc. is that you can't use them on websites[1]. Meanwhile you can build most applications as websites, which don't require any installation and are available everywhere and instantly. I am a Linux desktop user myself, so I have some sympathy for Qt, GTK and software distribution via package managers. Nevertheless, as a developer I like the web better, as that is a platform which allows me to easily distribute my applications to anybody on any platform within seconds. Performance on the other hand is a topic by itself. The problem I see with web applications here, is that it is much easier to create a bad performing program with web technology than with compiled languages and toolkits. But that is something you can learn and if you create some performance critical software, easy distribution might not be your top priority. [1]: I mean I have seen GTK rendered on a html canvas some years ago, but as far as I know nobody actually uses that kind of tech.
- afranchuk 9y agoFor that matter, I remember seeing some Qt thing for targeting websites too. But I agree with your points. Lately I've had to write UIs that actually need decent performance (client-side custom rendering and data processing requirements), so my preferences are biased.
- knewter 9y agothe Broadway backend is an amazing but of technology
- gameswithgo 9y agoAll of our industries GUI mind share has been in the web space, most of the desktop GUI libraries have been relatively ignored.
- disordinary 9y agoA browser rendering engine offers a lot more flexibility, expression, and modern feeling than most UI libraries that work natively.