News for hackers. Stuff that matters.
Re:Electron 7.0 by rolleiflex on Thursday October 24, 2019 @02:35PM (#21347741)
I release two apps, across 3 OSes, in somewhat of a bimonthly cadence with a low defect rate. That’s 6 different binaries. I’m a solo founder.

I know people like to rag on Electron, but without it, I wouldn’t be using something else, my apps just wouldn’t exist. It allows more people to try building more thing and that is a net positive.

The speed problems and bloat issues of Electron is just shoddy programming on the maker’s part - Electron itself isn’t slow. I use it largely as a shell talking to a Go binary that ships within the app package, which makes it only tasked with UI. If you’re having issues with speed, it’s a good approach.

A real world example of this approach is the thing I work on at https://aether.app. (An async collaboration tool for engineers)

Re:Electron 7.0 by dewey on Thursday October 24, 2019 @03:04PM (#21348052)
For me, and probably others, the main issue with Electron isn't the speed or even resource usage. It's that it ignores common UX/UI conventions you expect from a native app which still makes me prefer native macOS apps.
Re:Electron 7.0 by m_fayer on Thursday October 24, 2019 @04:05PM (#21348636)
I think this peaked some time around 2015. Back then, I remember many developers getting up in arms about following Apple's guidelines to a T, or insisting that Android apps look like a hyperactive stack of colorful paper cutouts under a direct light.

Since then, I think many of us have gotten tired of looking at overdesigned sameness that by now we all know will age quickly. Programmers no longer see the sense in chasing a perpetually changing visual standard for no reason other than "BigCo said so". Most importantly though, BigCos in question have fallen out of our good graces, and the "Design Systems" they keep pushing are now regarded as nothing but cynical branding exercises that come at the cost of UX.

Re:Electron 7.0 by pookeh on Thursday October 24, 2019 @06:25PM (#21349827)
You are right but at the same time I am willing to bet you 5 years later someone else will make the opposite argument and be upvoted the same.

It's a pendulum.

Re:Electron 7.0 by m_fayer on Thursday October 24, 2019 @11:15PM (#21351537)
Maybe in 5 years one or two of those BigCos will be humbled by an upstart, or the state, or the market, or a previously humbled BigCo (cough Microsoft). Then, by necessity, their design systems will become once again driven by the needs of actual users and developers. That's the underlying pendulum.
Re:Electron 7.0 by nicoburns on Friday October 25, 2019 @09:46AM (#21354856)
I'd bet on the next UI standard being a cross-platform library. Electron-like, but with much more efficient stack, and with binding to multiple languages.
Re:Electron 7.0 by m_fayer on Saturday October 26, 2019 @08:46AM (#21363313)
I'd bet on "if you can't beat em', join em". Reactive component-based architectures a la React/Vue have won. The DOM has won for the view layer too. And with wasm, you get your bindings to multiple languages. See: Blazor (it's just the first, more are coming). As for desktop apps that could benefit from proper concurrency, lack of a browser sandbox, full system access, etc. - server side Blazor is quietly pioneering a weird new paradigm - essentially running a headless browser in a regular process with full privileges, and then only doing vdom diffing inside the browser.
Re:Electron 7.0 by nicoburns on Saturday October 26, 2019 @02:26PM (#21365338)
> The DOM has won for the view layer too

As a front-end dev, I'm not entirely sure I agree with that. The DOM has some annoying performance limitations, and I'd love to be able to use something better for rendering. I think what the DOM has shown, is that cross-platform and the ability to easily do custom look and feel are crucial.

Re:Electron 7.0 by dwaite on Thursday October 24, 2019 @08:47PM (#21350708)
the push isn't (just) about homogeny of look, it is about consistency for users. When your UI design is backwards (or even inconsistently backwards, such as when a user is in he-IL locale) or you label your Delete button OK on platforms where the user doesn't expect that, it makes using the app frustrating, inefficient, and error-prone
Re:Electron 7.0 by DonHopkins on Thursday October 24, 2019 @08:17PM (#21350506)
>cynical branding exercises that come at the cost of UX

Well put!

Re:Electron 7.0 by fsloth on Thursday October 24, 2019 @04:18PM (#21348738)
Personally I'm fine with application specific UI schemes. It's a bit silly every application would follow the same guidelines as applications are intended to do different things. Platform UX/UI conventions place too strict limitations on innovation.

The original point - that people would get confused from non-platform UI schemes - has been proven kind of moot since most games have their own domain specific UI schemes and people love them anyway.

Re:Electron 7.0 by saagarjha on Thursday October 24, 2019 @04:26PM (#21348794)
> It's a bit silly every application would follow the same guidelines as applications are intended to do different things. Platform UX/UI conventions place too strict limitations on innovation.

They really don’t. Have you taken a look at the thriving ecosystem of native, powerful macOS apps that follow platform conventions?

Re:Electron 7.0 by jcelerier on Thursday October 24, 2019 @05:05PM (#21349155)
Most apps that I know people use in MacOS are really not native-controls based - Ableton Live, Max/MSP, VDMX, Resolume, Mathematica, JetBrains IDEs, VSCode, Sublime Text...
Re:Electron 7.0 by pfranz on Thursday October 24, 2019 @05:31PM (#21349410)
I'm pretty sure the parent was talking about macOS exclusive apps. The ones I recognize there are all multi-platform, which have always had the problem of keeping their own conventions between platform or adopting the platforms--most chose to keep their app consistent platform-to-platform.

I also think "professional" apps are a special case (which is a totally subjective classification). Even Apple and Microsoft have done their own thing for professional apps since forever. If I'm going to use that app for 8hrs every day, I'm more accepting of learning something new. I'm still more likely going to pick up an app if it follows existing conventions...I already chose my OS because I've learned and like those conventions.

Re:Electron 7.0 by saagarjha on Thursday October 24, 2019 @05:39PM (#21349477)
There are a couple that are cross platform and still native, such as Microsoft Office and the Affinity suite.
Re:Electron 7.0 by dwaite on Thursday October 24, 2019 @08:50PM (#21350731)
Microsoft Office has gotten way better over the years. They used to design the UX around the idea of "Office Users", not "Mac Users"
Re:Electron 7.0 by jimnotgym on Friday October 25, 2019 @04:50AM (#21353066)
This is very frustrating when supporting a mixed team of Mac and PC users on office. I would prefer it to be the same everywhere.
Re:Electron 7.0 by pfranz on Friday October 25, 2019 @01:36PM (#21357318)
And that's the problem. I imagine those Mac users chose it because they like the OS' conventions. Photoshop seems to have gone the other way from using OS conventions to doing their own thing the same on each platform. iTunes, which didn't always follow macOS conventions, did port everything to Windows.
Re:Electron 7.0 by DonHopkins on Thursday October 24, 2019 @08:20PM (#21350526)
You might have a point there, if at any time in their sordid history Apple actually followed any of their own UX/UI conventions in their flagship apps.

http://hallofshame.gp.co.at/qtime.htm

Re:Electron 7.0 by dwaite on Thursday October 24, 2019 @08:49PM (#21350725)
That example was 20 years ago, and Apple specifically discarded the skeuomorphic focus which that resulted from around six years ago (partly in concert with retina displays).

Do you have a more modern example?

Re:Electron 7.0 by killface on Thursday October 24, 2019 @06:08PM (#21349700)
My mac's primary purpose is to run bash, firefox, intellij, and docker. they've all got their own UI, and I don't feel wanting for power.
Re:Electron 7.0 by saagarjha on Thursday October 24, 2019 @06:24PM (#21349815)
That’s not the assertion I was refuting, which claimed that Apple’s platform conventions restricted the power of apps.
Re:Electron 7.0 by pfranz on Thursday October 24, 2019 @05:15PM (#21349261)
> has been proven kind of moot since most games have their own domain specific UI schemes and people love them anyway.

I emphatically disagree. There are still jokes (from legitimate annoyance) that the main consoles have different conventions for buttons and button names. It's awkward to navigate menu system with a simple up, down, left, right, accept, cancel when accept/cancel move around system to system. At least on desktop computers Spacebar/Enter and Escape are mostly consistent.

As for in-game control schemes, it's generally coalesced around wasd + mouse and USE. Even with that there are jokes (stemming from legitimate annoyances) about putting down a game for a week because you're older, are a parent, and have other responsibilities, then having trouble picking it back up.

This is a major reason I'm incredibly selective about the games I play and one reason I avoid online play. Sure, I'm one data point, and it may not apply to a majority of the cashflow for gaming, but I see it expressed online quite often.

Re:Electron 7.0 by fsloth on Friday October 25, 2019 @04:49AM (#21353064)
I hear you. I forget the control schemes as well, whether they are keyboard or controller.

But the thing about those is that they are 'hidden' and require memoization. There is no on-game HUD that would show legend of all the available actions all the time. If you could have that, then people would be much more comfortable about even the hidden schemes.

There are game UI:s that are mostly mouse operated, and expose the user interaction grammar using the game specific, visual UI narrative. My kids seem fine navigating between those. A great example is Roblox, which has lot of "controller heavy" games where there are custom UI:s for building and configuring lots of things.

There are no guidelines that the authors defer to, but, they organically try to make the UI:s as understandable as possible. Most of the time they copy established conventions anyway, and when they don't either the UI is still understandable or no-one will play the game.

Re:Electron 7.0 by rolleiflex on Thursday October 24, 2019 @03:10PM (#21348112)
I agree with this. Unfortunately that’s a designer bottleneck rather than anything else. Think of it this way, if somebody ends up with a mess of an Electron app, he or she probably wouldn’t have fared any better in usability with a native app even if the UI would look superficially ‘in-spec’.

Edit: Also as an example, Aether comes with plenty of shortcuts, or even has proper tabbing and tab highlighting for low-vision users. Electron prevents none of these, in fact the platform it’s based on, the DOM, is one of the most accessible platforms ever made in terms of support. Whether people actually make use of it it is another matter.

Re:Electron 7.0 by dewey on Thursday October 24, 2019 @03:15PM (#21348163)
I wouldn't necessarily say it's just the way it looks, it's also how things work that you get for "free" when you use the native UI toolkit.

Examples would be shortcuts, tabbing through form fields, how a file explorer works and other small things. The file explorer in VSCode for example doesn't really behave like a native one, you have to manually refresh, you can't easily drag and drop and everything just feels a bit off.

Re:Electron 7.0 by httpsterio on Thursday October 24, 2019 @04:03PM (#21348619)
Just last week I added shortcuts to our MacOS and Windows Electron app in about 15 minutes. I didn't read any documentation and I'm not even a developer, just a designer. I can barely make a proper if loop in js and I can't tell the difference between a method and a function either.

Electron is sooo simple. I mean, we've run into some pretty interesting issues like with hardware acceleration and difference in color and font rendering between platforms, but if a guy like me can code, sign and ship a fully functional application, anyone can.

Also, I can really recommend Vue and Quasar for anyone looking at building electron and mobile apps. Really fun!

Re:Electron 7.0 by saagarjha on Thursday October 24, 2019 @04:28PM (#21348806)
There’s a lot more to getting an app to feel native than just shortcuts, unfortunately. A native platform toolkit will do the right thing for your platform, sometimes even if you don’t know what the right thing is or that it exists.
Re:Electron 7.0 by recklessplayer on Friday October 25, 2019 @02:26AM (#21352429)
I completely agree with this. As a blind screen reader user, Electron apps are 90% inaccessible to me and other screen reader users. Screen readers (on any platform) interact with the underlying libraries/ frameworks. Every operating system supports its own native toolkit. It's a shame that Java's SWT framework fell out of favor for cross-platform software. That is quite accessible. Unfortunately, blind screen reader users are overlooked when it comes to these types of underlying frameworks.
Re:Electron 7.0 by crispinb on Thursday October 24, 2019 @03:30PM (#21348345)
That would have been me 18 months ago. But since dropping macOS I've become indifferent to platform conventions. I will never become hostage to a single platform again. Which (admittedly by a very different route) puts me more in touch with ordinary users, who for the most part don't care or notice.
Re:Electron 7.0 by Vinnl on Friday October 25, 2019 @06:54AM (#21353712)
Really, that's not an issue with Electron, I think. You can perfectly well make use of a common platform toolkit and still make a completely counter-intuitive UI - and people did that, a lot. In the end, the important things are things like that the cancel button is on the left and the button to confirm is on the right (depending on your platform), not whether it's grey or blue.

And I'd even argue that, with the freedom Electron gives you, app developers have started to actually pay attention to their design, rather than just using the standard toolkit and considering it done - so Electron apps often have better UI. I'd take VSCode's UI over Geany's any time, for example.

Re:Electron 7.0 by marmada on Thursday October 24, 2019 @07:20PM (#21350181)
To be honest, native MacOS UI doesn't even look good compared to the great styling you can get with HTML/CSS.
Re:Electron 7.0 by dewey on Friday October 25, 2019 @04:38AM (#21352994)
Native UI toolkits are not necessarily about looking beautiful for every app, they are about consistency, accessibility and letting the user expect how certain things work and can be found at. They have to fit to a lot of constrains that a single app doesn't have to.

Yes grey text on a white background can look great on a retina screen, but does it look good across the product range from the last 7 years and all devices, lighting conditions and for people with various disabilities?

Re:Electron 7.0 by jimnotgym on Friday October 25, 2019 @05:14AM (#21353183)
I'm intrigued by this. How do you cope with the www?

I use web apps so often that Electron looks natural

Re:Electron 7.0 by jcelerier on Thursday October 24, 2019 @05:02PM (#21349133)
> I release two apps, across 3 OSes, in somewhat of a bimonthly cadence with a low defect rate. That’s 6 different binaries. I’m a solo founder.

I release a Qt app for mac / windows / linux whenever I want by tagging a git commit and letting it be built by CI services. There is a single code base with almost zero platform-specific code. I really don't think that the technology choice is what matters in this.

Re:Electron 7.0 by wwright on Thursday October 24, 2019 @07:44PM (#21350324)
As someone who has worked a lot with both Qt and React at my current job, I feel that React is significantly easier for almost everyone. Qt’s complexity negates a lot of its benefits in most hands.
Re:Electron 7.0 by pjmlp on Friday October 25, 2019 @02:08AM (#21352325)
Maybe it is my age showing off, but React easier than Qt??!
Re:Electron 7.0 by faitswulff on Thursday October 24, 2019 @05:35PM (#21349449)
How is Qt support for mobile platforms?
Re:Electron 7.0 by 0xffff2 on Thursday October 24, 2019 @03:46PM (#21348472)
>The speed problems and bloat issues of Electron is just shoddy programming on the maker’s part - Electron itself isn’t slow.

I doubt this is entirely true. VSCode is frequently cited as an example of a good, performant Electron application. Its performance is generally acceptable (I use it as my primary text editor), but it absolutely chugs sometimes. Sublime is light-years ahead in terms of performance.

Re:Electron 7.0 by hajile on Thursday October 24, 2019 @08:13PM (#21350485)
MS has already proven that canvas is faster and better than HTML for text when they converted the terminal to canvas and it got an order of magnitude faster.

I wonder why they haven't expanded on this with Rust and WASM taking events and returning a canvas buffer. This seems like the best of both worlds. They get the responsiveness and performance of native code for the hard bits while retaining the ease and flexibility of HTML for the rest of the UI.

Re:Electron 7.0 by rolleiflex on Thursday October 24, 2019 @03:52PM (#21348522)
That is true and as a user of Sublime myself, I agree. However, VSCode is still a JS app that has to do its computation on a single thread, on a largely interpreted language.

If you do it the way I do and use Electron as a skin / thin client to a compiled binary within the package, you remove that bottleneck. That way, you get both cross-OS capabilities, a familiar UI toolkit (JavaScript, I use Vue) and native binary speed and real multi-thread capabilities.

Re:Electron 7.0 by wwright on Thursday October 24, 2019 @07:46PM (#21350331)
JS doesn’t have to do computation on a single language. Web workers an option, and I believe Node has additional tools as well.

It definitely can’t compete with true threads for work that needs true threads, but you probably don’t have much work that needs true threads (rather than just workers and channels).

Re:Electron 7.0 by tybit on Thursday October 24, 2019 @05:36PM (#21349454)
I really hope this is the sort of thing products like VSCode will start turning to WASM for. Performance is their Achilles heel for the time being even though they’ve done a relatively good job considering.
Re:Electron 7.0 by nobleach on Thursday October 24, 2019 @07:14PM (#21350141)
A couple of things here. WASM isn't necessarily more performant than vanilla JS. For the web, it'll open the door to the JS engine as a compile target, and that's great.... but it's still not super fast.

Secondly, in the case of an application, WASM is of little use since (with node and almost any programming language) you have an FFI available. One could simply shell out computationally heavy things to C++ or whatever else. This is what many folks do with their Electron apps already (via node-ffi).

Re:Electron 7.0 by tuananh on Thursday October 24, 2019 @11:26PM (#21351597)
true that. native module is still quite a lot faster in my experiencee
Re:Electron 7.0 by rolleiflex on Thursday October 24, 2019 @05:40PM (#21349483)
That would be helpful. Go can compile to WASM natively, so if I could just compile it down to that, I wouldn't even have different Go binaries for different platforms.

That said, some things I use (like SQLite, gRPC) will probably forever remain a C dependency, so I'm not sure if WASM would help with that.

Re:Electron 7.0 by pjmlp on Friday October 25, 2019 @01:17AM (#21352118)
The Microsoft's React Native for Windows/macOS team keeps comparing how Electron sucks to React Native, so I am hoping that they eventually manage to pull Viscose into their direction.
Re:Electron 7.0 by vtail on Thursday October 24, 2019 @03:02PM (#21348030)
Good rationale from a maker, not a purist, and good luck with your projects!

I liked the site, it's clean and to the point. Just a small nitpick: right under the Demo download button, you say "(Demo does not have Pro features such as team management, access control and others)".

I wouldn't say that - that essentially gives the user a (subconscious) rationale on why she shouldn't download the demo. I would suggest to focus on the positives instead - what the Demo can do. If you can somehow remove limitations, even for 14 days - even better!

Re:Electron 7.0 by rolleiflex on Thursday October 24, 2019 @03:12PM (#21348136)
Thank you! That’s good feedback. It’s there because the demo implies that it’s the demo of the same app, while in reality it’s a similar app targeting a different user base (a superficially Reddit-like peer to peer network). That’s why I say I have two apps, Aether and Aether Pro. The demo on the Aether Pro website is actually just regular Aether P2P.

I’ll try to find a way of making it less of a showstopper though - might be a better way to tell this.

Re:Electron 7.0 by petemill on Friday October 25, 2019 @12:01AM (#21351753)
Without it, you could do just a web app?
Re:Electron 7.0 by vips7L on Thursday October 24, 2019 @04:29PM (#21348819)
My company does the same, except we farm out to a java process.
Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @03:09PM (#21348101)
I know people like to rag on Electron, but without it, I wouldn’t be using something else, my apps just wouldn’t exist.

Cool. With Electron your app will only work on Linux/Windows/MacOS. There are other cross-platform solutions.

Re:Electron 7.0 by nindalf on Thursday October 24, 2019 @03:52PM (#21348523)
I'm perfectly happy supporting 99.99% of desktop users out there using Linux/Windows/MacOS. Users of BSD, Haiku, Redox and TempleOS are sadly not numerous enough to support.

It's the same reason any app developer nowadays only supports iOS and Android and not say, KaiOS (honestly, hands up if you've even heard of KaiOS). Don't rag on software teams for making trade-offs based on the resources they have.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @04:01PM (#21348596)
Don't rag on software teams for making trade-offs based on the resources they have.

It's not just that app devs aren't making non Linux/x86 apps, the problems are that those devs now cannot make non Linux apps. Period. In spite of this lack of portability they're now crowing about how portable and awesome their "cross-platform" app is. All of this to provide the consistently mediocre Electron experience.

Re:Electron 7.0 by cweagans on Thursday October 24, 2019 @04:15PM (#21348706)
Alternatively, you could roll up your sleeves and add support for whatever obscure OS you want to Electron and then have an entire world of apps available to you.

Mediocre and working > not existing

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @04:21PM (#21348760)
Alternatively, you could roll up your sleeves and add support for whatever obscure OS you want to Electron and then have an entire world of apps available to you.

To what end? The Electron devs have explicitly stated they will reject patches adding support for other platforms. Node is just as bad (letting trivial patches that would fix compilation on FreeBSD just fester).

I've already looked at the folks trying to port Electron to FreeBSD and honestly the build system on its own is absolutely horrifying. Qt (even Gtk) is far superior in this regard.

Re:Electron 7.0 by cweagans on Thursday October 24, 2019 @04:32PM (#21348848)
shrug So maintain it as a third party set of patches. It's not unheard of. For instance, there's a set of Linux patches that improve font rendering. Just because upstream wouldn't accept it doesn't mean that it can't exist.

If Qt works for you, use it. Electron works for many people. I don't like Electron apps very much either, but I definitely prefer working Electron apps on Linux than just not having that app available in the first place.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @04:37PM (#21348888)
So maintain it as a third party set of patches.

So I can run proprietary apps (because that's what these self-professed app devs are talking about mostly)? Not gonna happen.

Just because upstream wouldn't accept it doesn't mean that it can't exist.

No, it just means it's a lot of unnecessary work for a framework that already has an arduous build process. I haven't found that killer Electron app just yet so what that means in practical terms is that VS Code goes bye bye when my MacBook Pro finally dies and I move away from Apple (and likely to OpenBSD) on the desktop.

I definitely prefer working Electron apps on Linux than just not having that app available in the first place.

That's what's known as a false dichotomy. Even if Electron were the only choice, how many of these Electron apps (e.g. Slack, Discord, Signal) would be better off just being used directly from the browser?

Re:Electron 7.0 by cweagans on Thursday October 24, 2019 @05:01PM (#21349125)
> So I can run proprietary apps (because that's what these self-professed app devs are talking about mostly)? Not gonna happen.

Well then you don't want it that bad.

> I haven't found that killer Electron app just yet so what that means in practical terms is that VS Code goes bye bye when my MacBook Pro finally dies and I move away from Apple (and likely to OpenBSD) on the desktop.

You seem to care an awful lot about an issue that doesn't seem to affect you. Why?

> That's what's known as a false dichotomy. Even if Electron were the only choice, how many of these Electron apps (e.g. Slack, Discord, Signal) would be better off just being used directly from the browser?

I've been using Linux off and on for over a decade now. The single biggest thing that has made it possible for me to use it as my daily driver is that I can continue to get work done without resorting to kludgy workarounds like running everything in a browser. Most companies that I've worked for use Slack enough that not being able to Alt+Tab to it would be a dealbreaker. Even if the only feature that Electron brought was a standalone browser that you could alt+tab, it'd still be worth it. Of course, that's not the case -- allowing for better integration with the desktop is also excellent.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @05:46PM (#21349523)
You seem to care an awful lot about an issue that doesn't seem to affect you. Why?

Because it does effect me. Electron is promoting a monoculture of apps that don't behave well (resource usage, accessibility, abysmal native integration) and they're not portable to boot. What that means in real terms is that more and more that quality native apps become less common and hacky Electron apps become more common. Unless you're using an unsupported configuration, then Electron just means that people are being encouraged to standardize on the lowest common denominator and ignore you.

VS Code? Definitely not my first choice, but its rust support is still better than IntelliJ (or nearly anything else for that matter). But that's network effects for you.

Re:Electron 7.0 by cweagans on Thursday October 24, 2019 @06:13PM (#21349724)
> Because it does effect me. [..] VS Code? Definitely not my first choice, but its rust support is still better than IntelliJ

So choose an Electron supported OS or add OpenBSD support to Electron somehow. If VS Code is important enough to you, then that's a trade-off you have to make.

I don't think I'd agree that Electron is "hacky". I'd certainly say it has shortcomings, but what technology doesn't? Rust certainly does, but you tolerate it because you (presumably) enjoy/use the language for things you care about.

At the end of the day, most users aren't going to give a shit about what technology a thing is built with as long as it works moderately well. Solo developers being able to provide an application to 3 desktop platforms (one of which is historically underserved) with a single codebase is a powerful thing. The same argument applies to cross platform mobile technologies. Flutter, as an example, doesn't support WebOS, but it supports the vast majority of users, so it's gaining traction. Yeah, there are some tradeoffs, but I challenge you to find a technology where no such trade-off exists.

Since you mentioned Qt: Qt's main audience is C++ developers. I have no interest in writing C++. There are Qt bindings for other languages, but good luck finding one that's as well supported as Qt's C++ ecosystem. There are a couple of commercially supported Python options, but then you have packaging woes. Plus, you have to worry about licensing. Or I could use Electron, reuse a lot of the code that I've already written for my web app, sprinkle in some desktop integration, and I'm off to the races.

As an aside, the Rust language server (and most other language servers) works pretty well with Neovim. You can probably get at least the same experience with some work on your part. I assume the same can be said of Emacs, but I don't have the dexterity or number of fingers necessary to use it, so I don't know for sure.

Re:Electron 7.0 by DonHopkins on Thursday October 24, 2019 @08:46PM (#21350704)
>I assume the same can be said of Emacs, but I don't have the dexterity or number of fingers necessary to use it, so I don't know for sure.

The UniPress Emacs icon used to be a unicorn, because once you hold down all the modifier keys with your finger, you need a horn on your head to press the letter with.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @06:59PM (#21350056)
So choose an Electron supported OS

Why? My whole point is that Electron is encouraging developers to not support other platforms. That's not helped by simply using something that the Electron devs have blessed. The absolute last thing I want is Electron to dictate which platforms I can and cannot use.

or add OpenBSD support to Electron somehow.

This too seems like a fools errand as the Electron devs have decided that anything beyond Windows, MacOS, and Linux will not ever have official support.

Since you mentioned Qt: Qt's main audience is C++ developers. I have no interest in writing C++.

Then don't. I'm currently working on a project that's using a rust backend and a Qt/QML front end. If you're more comfortable with JS then QML is an easy leap. The caveat being that you've got to drop down to C++ for some things. The biggest example I've seen is table data sources, but even that is due for vastly improved QML support in the next version of Qt.

Or I could use Electron, reuse a lot of the code that I've already written for my web app, sprinkle in some desktop integration, and I'm off to the races.

Right, and now we're back to "this sounds good to the devs" while the users suffer. In the mobile sphere where this has been common for a longer time, reskinned web sites work extraordinarily poorly. For example: Apple adding native app support to iOS, Facebook dropping their HTML5 based apps, and nearly any other app that's a lightly skinned site (BBC and NPR come to mind). It's not any better on the desktop side as evidenced by the poor accessibility and resource usage of Electron apps.

Low effort cross platform toolkits have never yielded particularly good results. And while I think Qt is still pretty damn clunky on OSX, the solution isn't to run towards a product that exacerbates the problems.

As an aside, the Rust language server (and most other language servers) works pretty well with Neovim. You can probably get at least the same experience with some work on your part. I assume the same can be said of Emacs, but I don't have the dexterity or number of fingers necessary to use it, so I don't know for sure.

Yeah, I've flirted with Emacs for a few decades now but never warmed up to it (and it really is the epitome of a non-native app). Vi (typically vim) I use for some things (even with rust dev), but I'm not about to replace a full blown IDE with it.

Re:Electron 7.0 by cweagans on Thursday October 24, 2019 @08:03PM (#21350436)
> Why? My whole point is that Electron is encouraging developers to not support other platforms.

Because you expressed a need for vscode. If you need it, figure out how to use it. If you don't need it, it's not a problem, right?

> This too seems like a fools errand as the Electron devs have decided that anything beyond Windows, MacOS, and Linux will not ever have official support.

"official support" are the key words there. If you care about it that much, whip up some patches and maintain them. Or even better, find other OpenBSD users to help you build and maintain them. Just because the electron devs don't want to support it doesn't mean it can't happen.

> Then don't. I'm currently working on a project that's using a rust backend and a Qt/QML front end. If you're more comfortable with JS then QML is an easy leap. The caveat being that you've got to drop down to C++ for some things.

JS but C++ for some things is just as bad as C++ for everything. Qt isn't an option for me any more than Electron is an option for you.

> Right, and now we're back to "this sounds good to the devs" while the users suffer.

Users don't actually suffer that much. You appear to be looking at this through the lens of your own environment -- you might suffer because of Electron, but people don't give two shits what slack is built with as long as it works reliably.

> Low effort cross platform toolkits have never yielded particularly good results.

If your web app is good to begin with, bundling it in Electron doesn't make it worse. You seem to be okay with browser based apps, so I'm not understanding where that disconnect is.

> Vi (typically vim) I use for some things (even with rust dev), but I'm not about to replace a full blown IDE with it.

Whatever works. vim was my daily driver for a long time. Works just fine as an IDE. Neovim is better. YMMV.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @09:35PM (#21350976)
If you care about it that much, whip up some patches and maintain them.

Maintain patches that will never be accepted upstream? Thanks, but no thanks. And then what about proprietary apps? Electron is a scourge that's helping perpetuate mediocre user experience and an oligarchy.

Beyond that the Electron build system is a rats' nest. If there were some killer app out there that used Electron I'd probably consider it more seriously. But Electron is a bit like systemd: an exceedingly poor solution but just good enough so that most end users don't complain too loudly.

JS but C++ for some things is just as bad as C++ for everything. Qt isn't an option for me any more than Electron is an option for you.

No, it really isn't. Using JS (ick) for the majority of your app insulates you from most of the big scary C++ bits. There are other options besides Qt and Electron. Using Qt (or pretty much anything else) would also do the opposite of trying to entrench an oligarchy.

Users don't actually suffer that much.

As much as that sounds like a ringing endorsement of Electron, I'd say the steady stream of complaints about apps like Slack are evidence to the contrary.

If your web app is good to begin with, bundling it in Electron doesn't make it worse. You seem to be okay with browser based apps, so I'm not understanding where that disconnect is.

What's acceptable in a browser is not in a desktop app. This is the same reason there's anxiety over Apple's push to bring over the iOS toolkit to desktop macs: context is everything. Expectations are higher for native apps and simply slapping an Electron install on a web app doesn't comes closer to "why even bother with a desktop app" than "hey, desktop apps are a much better experience".

Beyond that a browser can share code that electron apps can't. I don't need or want N installations of Chrome/Chromium (with the resulting overhead and security implications).

Re:Electron 7.0 by pjmlp on Friday October 25, 2019 @01:19AM (#21352121)
Qt themselves offer Python support.
Re:Electron 7.0 by brycesbeard on Thursday October 24, 2019 @05:02PM (#21349132)
It’s clear that you aren’t their intended audience. Due to a choice you have made to not use a more common platform. Your responses sound like you’re upset; why? You made your choice. They made theirs. Accept the reality, accept the trade offs, or make changes.

Complaining about the decisions made by other people isn’t useful.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @05:24PM (#21349342)
Due to a choice you have made to not use a more common platform.

Actually I'm primarily using MacOS as a desktop these days. I've happily paid for a variety of apps (e.g. Omnigraffle, Monodraw, Lightroom).

Your responses sound like you’re upset; why? You made your choice.

Beyond the usability issues that constantly dismissed out of hand by developers, Electron is a crass and dishonest attempt at redefining portable and cross-platform to include a very narrow selection of platforms.

This actively increases the effort to get traction with a non-Electron supported platform and encourages bloated. Who's going to compete with Slack if they already offer a (shitty) desktop app?

Folks hold up VS Code (which I do use) as an example of a good Electron app. It's still slower than native IDEs like TextMate or Sublime and it's still not quite right in terms of native look and feel. Why do I use it? Network effects. The rust community seems to have (sadly) standardized on VS Code.

Re:Electron 7.0 by brycesbeard on Friday October 25, 2019 @04:32PM (#21358964)
> Electron is a crass and dishonest attempt at redefining portable and cross-platform to include a very narrow selection of platforms.

You don’t think the crass and dishonest part is a story that you’re telling yourself? To me, it’s an engineering trade off. There is no need to criticize what others have chosen, and afaict, no evidence to support this hyperbolic questioning of their intentions.

Re:Electron 7.0 by bluesroo on Thursday October 24, 2019 @03:15PM (#21348164)
As a solo founder, I doubt there are any other platforms that make economic sense to support, especially if it pulls effort away from the real money makers. Depending on the market, Linux wouldn't even make sense to support for most companies and it's only supported because Electron supports it out of the box.
[dead]
Re:Electron 7.0 by bitwize on Thursday October 24, 2019 @03:27PM (#21348296)
If you have hungry mouths to feed, and whether or not they get fed depends on whether your app makes enough to justify the time and expense it takes to develop it, tell me you would have made a different decision.

When development is your livelihood, you target the platforms that make money and only the platforms that make money. That pretty much means Windows and maybe Mac. Anything else is throwing money away.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @03:31PM (#21348347)
tell me you would have made a different decision

Sure. As a developer I would've used Qt (or Gtk) because even on the platforms that Electron provides, both provide a much higher quality user experience. You may not care about Linux on non-x86 or QNX or BSDs now, but you've ruled out ever caring enough to consider them.

As a user I loathe Electron apps. They're slow, don't respect native mannerisms (e.g. VS Code for ages didn't put titles on windows you minimized), and horrifically bloated. I try not to use free Electron apps (Discord and Slack get used in a browser), and I would never pay for one. So there's that.

Re:Electron 7.0 by filoleg on Thursday October 24, 2019 @03:46PM (#21348478)
>VS Code for ages didn't put titles on windows you minimized

The fact that they eventually put it there tells me that it wasn't a fault of Electron in the first place, but fault of the designers/devs. Electron allows you to do all those nice things you love if you want to, so I don't see how it is Electron's and not designers'/devs' fault.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @03:51PM (#21348515)
The fact that they eventually put it there tells me that it wasn't a fault of Electron in the first place, but fault of the designers/devs. Electron allows you to do all those nice things you love if you want to, so I don't see how it is Electron's and not designers'/devs' fault.

That's not something a native MacOS application dev would ever have to think about. If Electron requires extra work to make your app behave like a normal app that's absolutely a fault with Electron and means that Electron apps will often present poor the user with a experience.

Re:Electron 7.0 by stephenson on Thursday October 24, 2019 @03:28PM (#21348318)
I think congrats are in order, he did not get distracted with a minor part of the market but is focused on delivering value to the bigger market. He can always add more clients later.
Re:Electron 7.0 by AnIdiotOnTheNet on Thursday October 24, 2019 @03:27PM (#21348298)
So really you only care about 2 operating systems, and you're willing to give up all the native integration opportunities on both of them for the minor convenience of only having to write one (bad, bloated, totally-out-of-place) GUI.

Developers in the 90s often supported 5 or more different platforms. How is it that modern development is so much worse?

Re:Electron 7.0 by boernard on Thursday October 24, 2019 @03:34PM (#21348373)
that 'minor' convenience is a quite huge one given that he stated that the other apps wouldn't exist if not for electron.
Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @03:54PM (#21348537)
that 'minor' convenience is a quite huge one given that he stated that the other apps wouldn't exist if not for electron.

That's an awfully bold, if unbelievable, claim given that cross-platform toolkits have existed for a long time.

Re:Electron 7.0 by CDSlice on Thursday October 24, 2019 @03:12PM (#21348124)
What other PC OSs are there that actually gets used? BSDs?
Re:Electron 7.0 by AnIdiotOnTheNet on Thursday October 24, 2019 @03:17PM (#21348186)
If you're bothering to include Linux in your list of Desktop platforms at all you may as well include the BSDs.

Besides, Java works fine on BSDs. Why is it that when modern developers reinvent the wheel they so often manage to do it worse than the last time?

Re:Electron 7.0 by CDSlice on Thursday October 24, 2019 @03:44PM (#21348454)
> If you're bothering to include Linux in your list of Desktop platforms at all you may as well include the BSDs.

I guess, but the amount of people I know that use BSDs are even fewer than the amount that use Linux. Given that Linux is a hard enough sell to support for most apps I doubt that BSD support would be offered even if the framework supports it.

> Besides, Java works fine on BSDs. Why is it that when modern developers reinvent the wheel they so often manage to do it worse than the last time?

Speak for yourself, I would MUCH rather use an Electron app than a Java app. No need to make sure you have a proper JVM installed AND the apps don't look hideous like 99% of the Java apps I've ever used do.

Re:Electron 7.0 by AnIdiotOnTheNet on Thursday October 24, 2019 @03:57PM (#21348558)
You can quite easily bundle the Java runtime with your application. Many Java applications do this. As a bonus, it will still be smaller than the equivalent Electron application.
Re:Electron 7.0 by shrimp_emoji on Thursday October 24, 2019 @05:24PM (#21349340)
Except Java applets are a thing of the past while seamless browser/browser-based software is a convenient thing of the present (and probably future[0]) and prioritizing size more than availability and usability is fighting the last war harder than a stranded Imperial Japanese soldier.

0: http://wasm.continuation-labs.com/d3demo/

Re:Electron 7.0 by pjmlp on Friday October 25, 2019 @01:24AM (#21352140)
Java applets are not a thing of the past thanks WebAssembly.

Plus we are talking about regular Java here.

Re:Electron 7.0 by hollerith on Thursday October 24, 2019 @03:42PM (#21348447)
I doubt that the frameworks (e.g., JavaFX) for creating a GUI in Java work fine on the BSDs.

Portable GUI code is harder than portable code without a GUI.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @03:16PM (#21348177)
What other PC OSs are there that actually gets used? BSDs?

Yes. Or Linux on non-x86 platforms.

Re:Electron 7.0 by CDSlice on Thursday October 24, 2019 @03:41PM (#21348428)
Electron not supporting ARM or other non-x86 platforms is a big problem that I was not aware of. I wonder if that will change with Microsoft starting to make ARM laptops and Apple being rumored to switch to ARM sometime in the future.
Re:Electron 7.0 by nereye on Thursday October 24, 2019 @04:20PM (#21348755)
From https://electronjs.org/docs/tutorial/support:

Linux The prebuilt ia32 (i686) and x64 (amd64) binaries of Electron are built on Ubuntu 12.04, the armv7l binary is built against ARM v7 with hard-float ABI and NEON for Debian Wheezy.

Re:Electron 7.0 by inferiorhuman on Thursday October 24, 2019 @04:38PM (#21348900)
Oh hey, they finally added vestigial Arm support looks at site for Linux.

Running Electron apps on Windows for ARM devices is possible by using the ia32 binary.

lol

Portability is not Electron's strong suit despite all the marketing hype to the contrary.

Re:Electron 7.0 by sroussey on Thursday October 24, 2019 @04:03PM (#21348620)
The announcement this whole discussion links to talks about the new ARM support, so I am confused as to what you are talking about.