Every Windows 11 app should kill Electron, and Discord just showed why (windowslatest.com)
388 points by thunderbong a day ago
jFriedensreich 6 hours ago
I am at the opposite extreme. We should ditch electron and use browsers good enough integrated they can run all the apps with native feel and reusing the same engine (not a lacklustre OS webview but a complete one) This solves the memory overhead, solves unpatched or misconfigured chromium in each electron app as well as portability and reusing web dev skills. Also this would allow permissions and security to be managed by a layer that can focus on that and I don't have to worry about what a native app can do. (OS permissions and sandboxing are just not made for vibecoded infinite software and likely never will catch up) All the performance and other arguments are just not true, a well build webapp is often more performant than a native app especially for long scroll lists not even to mention accessibilty, extensions and more. I will never trust discord or Spotify to run something natively on my machine and so should no one else.
tcfhgj 5 hours ago
> All the performance and other arguments are just not true, a well build webapp is often more performant than a native app especially for long scroll lists not even to mention accessibilty, extensions and more.
A well built web app will never be more performance than a well built native app. It's just inherent due to the JavaScript abstraction.
StilesCrisis 3 minutes ago
It's true that JavaScript costs, but the text renderer in Chrome is just wildly optimized and definitely can outperform an OS list view. An article here on HN covered it a while back.
mycall 2 hours ago
So fix the JavaScript abstraction. I've had more success with dart-wasm lately so I'm waiting for someone to finish the standards.
broken-kebab 3 hours ago
Never? We already had this discussion about JVM, and we know for a fact that it's possible for JIT to achieve better performance with that damned bytecode compared to natively compiled equivalent.
redox99 3 hours ago
tcfhgj 3 hours ago
arka2147483647 5 hours ago
The security boundary here is difficult, if you intend to integrate with native workflows.
Also difficult to manage fake websites duplicating the look and feel. Scamming people into giving access or passwords.
A native app which is installed once from a good source is more secure, i feel.
andai 6 hours ago
I just run discord in the browser.
The native one reads the titles of open windows on your desktop, and God knows what else.
(Well, I don't use discord at all anymore, but I very intentionally never used the desktop app.)
prmph 4 hours ago
I'm with you.
I created my own declarative react-like UI library that is small, efficient, and does things just the way I want. I have absolutely no desire to go back to the days where for every platform I want to develop for, I need to learn whole new UI paradigm, with all its quirks and gaps and inefficiencies.
Past a certain age, having to do this every year or two get old fast. And, it is not necessary for good performance. The only holding back good performance and capabilities from web apps are the platform vendors.
skybrian 6 minutes ago
Is this library open source? I’m curious about how it works.
tw04 an hour ago
What? No, absolutely not. Did you not learn your lesson when google decided to actively try to kill ad blocking? Why on EARTH would I want all of my desktop apps at the mercy of google and chromium?
You can tell me until you're blue in the face that you also think these apps should be cross-browser but we all know that will never happen.
mulhoon 3 hours ago
I agree with this. And even further, I think we wasted a decade or so, forcing web and native apart - especially on mobile. Partly due to Apple building a native moat when we could have put resources into building a more performant and powerful internet.
neya 2 hours ago
You can optimize all you want, but if your foundation is a pack of cards, you're not going very far. JavaScript is not a solid foundation to build anything on. It's a language that should have been extinct long ago along with internet explorer. But, people kept trying to save it - adding abstraction on top of abstraction, even languages on top of it (coffeescript, typescript) just to get it to work at the baseline of a decent language. It's the only language that is forced upon us. If browsers gave us options to use other languages, it would and should've been long been dead.
gloosx 2 hours ago
If javascript is not a solid foundation to build anything on, then how come everything is built on top of it? It's the language powering the whole web, and people went really really far with it. Besides that, almost every major programming language can now run in the browser via webassemly, which solves problems in the areas where javascript is lacking raw performace.
pdimitar an hour ago
katbyte an hour ago
Rumple22Stilk an hour ago
neya an hour ago
hobo123 4 hours ago
In a way yes, but things like keyboard shortcut, file pickers and similar are major convenience issues and not as easy if the only thing that runs on the metal is a server process, and the UI is limited to the browser. A webview UI like Tauri might solve that (I'm not familiar with it, so I can't say if it does).
I think that's also the main reason software like VS Code is electron based and not browser based.
eptcyka 4 hours ago
> well build webapp is often more performant than a native app especially for long scroll lists
A well built anything is better than most software. I would argue that a well built rust app will probably a higher quality piece of software than typescript slop produced by Microsoft.
m00dy 6 hours ago
Not sure who's still using electron...Rust + Tauri is pretty much standard these days.
ezst 3 hours ago
How's that different? You are still shipping a web browser and rendering through the inefficiency of the DOM event/rendering model. Sure it helps that the business logic is written in a native language, but modern, JIT-ed JS isn't a sloth either, and I don't think that's what people have gripes with and what causes abnormally large runtimes.
m00dy 2 hours ago
resonious 5 hours ago
I wish I could agree but Tauri performance is insanely bad on Linux.
I think it'll be fixed soon but it drives me nuts.
Flutter is under appreciated for desktop.
pas 5 hours ago
m00dy 5 hours ago
cheschire a day ago
I'm pretty sure this was known since the early days of Electron. It was even one of the chief complaints about VS Code when it was first launched.
Electron's value prop has always been about having one team producing one app that is supported on multiple platforms with minimal additional effort.
This article does nothing to address that.
ksec 15 hours ago
>It was even one of the chief complaints about VS Code when it was first launched.
That was absolutely not the case at all. At least not on HN or twitter. It was for Chief Complaints for Atom. When VS Code first launched everyone was suggesting how much faster it was compared to Atom. And how a properly tuned Electron Apps could be fast. And Microsoft promised it will get even faster that makes everyone excited.
The only few of us who were complaining was how could everyone judge this to be fast when we have Sublime. And that was even before Sublime had GPU rendering.
rendaw 10 hours ago
I think you may be right, but I think that actually enforces GP's point: if discussion was about how "a properly tuned electron could be fast", that implies an unstated general belief that electron is slow. In other words, since the time vs code was launched there was indeed a belief that electron was slow (compared to native apps).
tcfhgj 4 hours ago
cowlevel 9 hours ago
ThunderSizzle 11 hours ago
I compared NP++ to VS Code at the time. VS Code was nice to use, but it was slower. It was faster than Visual Studio, but that's because VS Code without extensions didn't have language support, etc like VS did.
I find it odd you see otherwise.
And VS 2026 is faster than VS Code these days, now that they spent time optimizing it.
load-bearing 9 hours ago
SideQuark 13 hours ago
Googling if it was a common complaint around launch time shows plenty of threads on it across all the usual sites at that time.
eddythompson80 12 hours ago
fy20 10 hours ago
I was using Vim at the time, so didn't get into those discussions. The thing that hurt me was Spotify. They had some other HTMLish desktop app before Electron that was just as bad for memory.
stuaxo 6 hours ago
Eh, including a whole browser has always been my complaint and I'm sure many others.
herbst 7 hours ago
I definitely remember it being yet another slow editor many people complained about.
accurrent a day ago
A huge pain of desktop development is managing dependencies particularly if you are coming from C++/Native code. Imagine you wanted to make a simple app in the 2010s that accesses the webcam for instance: If you use chrome you got the full html5 runtime, whereas with other tools you'd need bespoke libraries which your end user may not have.
The only way to ship the same code between linux, macOS, and Windows would have been to either use something like Qt or the JVM back in the 2010s. The JVM desktop stuff was super ugly and Java itself had become notorious (also if you wanted anything remotely interesting like webcam/microphone or multimedia access you'd still have to ship dynamic libraries). Qt required special packaging skills to ship to the end user especially if third party libraries were involved. Electron killed that by bundling chrome (and chrome has a huge api surface).
Today, I would argue the package management situation for a language like rust is a lot different. You dont have to cobble different DLLs together, you can just statically compile dependencies and cargo/rust do a pretty good job of making sure it's bundled with your app. Other languages also now have similarly useful tools.
72deluxe a day ago
But then the C++ libraries you mentioned also had the ability to statically link into a binary, which means you could statically link the webcam access in, in your example. So I don't see the advantage you're arguing for?
cogman10 a day ago
jasomill a day ago
hobo123 4 hours ago
cosmotic a day ago
Java desktop was only ugly if you chose for it to be. It was pretty minimal effort to get native look and feel. Nothing built in electron looks native. If we're accepting custom interface using electron, that was doable with Java too.
threetonesun 19 hours ago
NetMageSCW 16 hours ago
hobo123 4 hours ago
saagarjha 11 hours ago
Discord ships plenty of native code, though. Actually most popular Electron apps do
pjmlp 20 hours ago
Usually it is hard for those coming from scripting languages.
Strangely enough we managed to write portable code across platforms during the last century, and there were more than only three major desktop OSes.
vivaldi_bt 15 hours ago
skydhash 16 hours ago
Barrin92 13 hours ago
>Qt required special packaging skills to ship to the end user especially if third party libraries were involved
How outrageous to demand that a software developer possesses the 'special skills' to ship a Qt application. It's not surprising that people think AI is killing programmers when this is the level the average 'programmer' has been operating at for 15+ years.
Imagine going to a chef and he tells you he can only warm up microwave lasagna because cooking the steak correctly requires special skills. The special skills are your job
hobo123 4 hours ago
expedition32 4 hours ago
Grombobulous a day ago
The article at least indirectly addresses that.
At the time Electron came out, there weren’t as many cross-platform UI frameworks available that they could have gone with.
You can see this with the comparison chart. GPUI effectively replaced Electron so the desktop app UI works across platforms. React Native is replaced with WebAssembly so that Rust can be the primary language across all platforms including mobile.
It seems like the new situation for Discord is rather elegant, and that none of this would have been available when it first came out.
jenadine a day ago
GPUI works well for Zed, but it's built for Zed's needs only. There is no official crates.io udates. Breaking changes land as Zed needs them, and outside PRs often get declined causing a mess of several forks.
braiamp 15 hours ago
sbarre 16 hours ago
thiht 4 hours ago
pjmlp 20 hours ago
I love when folks complain about C++ in stuff like Qt, and then write C++ addons on Electron apps, to make them actually get an usable performance.
AlienRobot a day ago
Why https://gpui.rs/ doesn't have a single screenshot of how it actually looks?
The first thing anyone would want to know when choosing a GUI framework is how it looks by default. Every major GUI toolkit has screenshots on their websites.
This happens so often it makes me wonder if people just don't know how to take a screenshot and put it in a webpage with <img>.
rstat1 17 hours ago
Grombobulous a day ago
NetMageSCW 16 hours ago
The article explains that the same Rust app runs on Windows, Linux and Mac just like the Zed editor where the GUI library originated, and with wasm, also runs on iOS and Android. What else do you need?
Pxtl 16 hours ago
Oh, does rust have a good native cross platform ui framework?
bluGill 15 hours ago
Sankozi 6 hours ago
andai 6 hours ago
> Electron's value prop has always been about having one team producing one app that is supported on multiple platforms with minimal additional effort.
>This article does nothing to address that.
Article mentions they chose not to use windows native tech (WinUI), presumably for portability reasons. I have no idea how much work it would take to port the Rust client to other platforms, though. Maybe the same code already builds everywhere?
RunSet a day ago
> Electron's value prop
"Now you can have the cross-platform compatibility of a single-page application just by bundling Chrome."
zdragnar a day ago
It's worth remembering that electron was first released back in 2016 (formerly atom shell fro 2013) so Internet Explorer was still very much a thing.
Not a great justification, but it made a bit more sense then.
72deluxe a day ago
IshKebab a day ago
> The article does nothing to address that.
I dunno if you've been living under an enormous rock, but they used AI to make this.
llm_nerd 16 hours ago
> This article does nothing to address that.
This has been addressed many times now, and the article doesn't really need to re-address it.
Coding LLMs make managing cross-platform native apps significantly easier than it was in the past. The cost-reward analysis, where Electron and simile apps made sense because then you don't need to have an iOS expert, a macOS expert, etc, and having a bloated monstrosity of an app is an acceptable compromise, is simply no longer true.
I know there is some subset of HN that still thinks CoPilot 2024 is the state of the art and will declare this a foolish assertion that good developers like them disbelieve, but this is what all of the industry is moving to.
peebeebee 8 hours ago
You know how much overhead testing 5 different apps still is?! (iOS, MacOS, Android, Windows, Linux)
GoblinSlayer 7 hours ago
ajross 17 hours ago
Exactly. This Discord Windows 11 rust app doesn't run on Mint or AOSP or an iPad and won't without extensive porting.
That can be done. It can be done well. It's not (or rather never has been) cheap or flexible or agile (in the market, not SWE sense). People love HTML/CSS/JS for very good reasons, and have been willing to accept the resulting tradeoffs.
Maybe that's changing now that you can vibe-port a lot of this stuff. We'll see.
NetMageSCW 16 hours ago
The article says they can use the Rust code with wasm as the iOS app and that includes iPad and Android. And Mint is just Linux so it should run fine, just like Zed.
dmix 13 hours ago
tekla a day ago
The problem is that it made everyone's life worse.
johnh-hn a day ago
Not mine. I loathe Electron like many people. But, as someone who is legally blind and has very limited vision, being able to have custom UI zoom levels, per application, has made my life much easier.
For a long time, and mostly out of frustration, I wanted to build my own stack of software around my vision. But the mammoth amount of effort it would require meant I never went through with it.
freecodeio a day ago
GoblinSlayer 7 hours ago
sitzkrieg 15 hours ago
Grombobulous a day ago
The electron hate train needs to pull in to the station and be retired. We can just admit that it was a good solution for the problems of its time just like JQuery. Electron was conceived over a decade ago and it was an imperfect solution, but there’s no denying that it was a solution.
Election predates WebAssembly by 5 years and hit the scene only one year after Rust was first created.
And just like JQuery, its time is coming to a close as better frameworks are available now that weren’t available back then.
pjmlp 7 hours ago
afdbcreid 19 hours ago
hackernud3s 18 hours ago
bigstrat2003 20 hours ago
s3p a day ago
Brian_K_White 20 hours ago
bee_rider 18 hours ago
therealmarv 30 minutes ago
I don't understand the hate on Electron. I think most people here never shipped cross plattform apps ever and even less maintained them across cross platform. It's a financial decision. Electron (in the age before AI) enabled to stand on the shoulders of giants to build a reliable product with one code-base among many OSes. Something which Java promised Electron really delivered for most end-user apps. Google poured billions into making the fundament of Electron fast and reliable and bugfree. And it enabled many Linux ports of apps which would have otherwise not happened.
Best example is vscode.
Are Electron apps more wasteful than native: sure. But I rather stand with Electron and that Windows, Mac and Linux is supported.
LaurensBER a day ago
Electron is pretty awesome in that it allows a small team to build a decent GUI app using their existing web skillset but it also feels like it's time for something better at this point.
With the ram prices as crazy as they are. It's pretty frustrating to have to run multiple GB eating applications just to do some basic tasks (90% is read and write messages, in the case of Discord). I understand that other people might use the more advanced features (voice chat, etc) but these could be loaded on-demand.
It's a bit crazy to me that I can comfortable run an entire Linux stack (+ Podman, monitoring, alerting and multiple services) in 512 MB ram (with 40% free, just checked!). However my Windows PC needs 5.5GB just to show the desktop! Realistically it needs somewhere between 8GB and 16GB for some basic web browsing and even then it can feel slow if you have a few apps like Discord running in the background.
pasc1878 a day ago
Sorry can you show a decent GUI app in Electron compared with a native one.
You show this by all your other comments on memory. The reason apps take memory is Electron.
Plus I prefer apps that behave like OS native apps not the reduced GUI of web apps.
Peanuts99 a day ago
VS Code is a perfectly fine and pretty performant app.
denimnerd42 20 hours ago
afdbcreid 19 hours ago
pjmlp 7 hours ago
bigstrat2003 20 hours ago
troupo 7 hours ago
anthk 18 hours ago
codazoda a day ago
Jtarii 18 hours ago
kelseyfrog a day ago
I volunteer as the arbiter of decency!
ycui7 11 hours ago
People need to understand even a 70% smaller 290MB GUI app is still terrible. We could open 200 browser tabs on Windows 2000 with only 256MB memory back in the days. Discord should not consume more data than 200 browser tabs.
mrob 4 hours ago
I recently installed "dvdisaster" from Debian. The provided version has the GUI disabled, on the grounds that it's written in GTK2. It's just a single-line configuration change, so I recompiled with the GUI enabled.
It's been a long time since I last used GTK2. I was shocked at how much faster it feels than GTK3/GTK4 apps. Load time is almost instant on my old computer, and no perceptible latency anywhere. There's no arbitrary 60fps frame rate cap like with more recent GTK versions (while running on Xorg). There are no annoying animations. GTK2 was already perfect and everything since then has been a downgrade.
ezst 3 hours ago
Congrats, you finally made it 15 years late to the "Gnome 3 sucks" party, you can still grab a drink and a chair, it's still lively in there!
dustbunny 23 minutes ago
loremdifr 10 hours ago
this is true, I even remember one of the first alternative clients for Discord (Ripcord IIRC) was orders of magnitude more performant and lightweight that this rust rewrite.
shafiemoji 10 hours ago
200 tabs of HTML only?
pseudohadamard 10 hours ago
Came here to say the same thing. A graphical IRC client should not require 290MB of RAM to run.
txdv 7 hours ago
if it has a lot of iamges and videos, maybe? but not after a clean startup
stein1946 6 hours ago
> People need to understand even a 70% smaller 290MB GUI app is still terrible
I don't understand that kind of reasoning.
Electron - and anything web - has allowed us to basically solve distribution and iterate at lightning speeds and people are getting bothered because an application in 2026 takes multiple amounts of RAM than the their favourite 90s app?
Come now, the average laptop has a ton of memory and fast i/o to be able to not care even if that 290MB was 1290MB.
The trade off of higher memory for some middleware is totally worth it.
spacechild1 6 hours ago
Software developers need to realize that their app is not the only one that will be running on the user's computer. A single app taking 300 MB of RAM? No problem. 20 apps? That's already 6 GB of RAM.
And keep in mind we're talking about a damn chat client, not some complex video editing or CAD app.
Neikius 11 minutes ago
stein1946 5 hours ago
pjmlp 7 hours ago
You actually couldn't, because browsers did not support tabs back then.
200 browsers instances more likely.
abanana 2 hours ago
Opera and Firefox, "actually" (along with some lesser-known browsers), introduced tabs around the same time as, or very soon after, the launch of Windows 2000.
Alternatively, read "tabs" as "windows" - we know the word "tabs" is not the important point of that post (and that the number 200 is exaggerating for effect). Right clicking a link and selecting "open in new window" opened a new window in the same browser instance, not a separate instance, although there wouldn't be any visual difference.
pjmlp 33 minutes ago
331c8c71 2 hours ago
Opera definitely had them around that time
https://pspb.chrisrcook.com/2025/09/20/4_windows-xp-home-x86...
pjmlp 2 hours ago
hobo123 3 hours ago
I'm pretty sure my Pentium 3 PC back in the day had 128 or 256MB memory, and I ran tabbed Mozilla/Seamonkey as well as the first versions of Firefox ("Phoenix"), both with tabs. 2003ish.
Cold Phoenix start on Windows XP was similar to Firefox startup today on a Mac :D (ok, maybe a few seconds longer of pegging the CPU)
pjmlp 2 hours ago
gloosx 2 hours ago
Every time I start the discord app, it downloads updates. It was never the case when I opened discord app and it didn't start updating. Updating 7/13. Updating 1/4. There is always some update pushed, I think almost every day. Comparing the launch times of fully updated clients is kinda useless, as it will always take few minutes to update anyway when you are cold-starting it. Slow electron apps are just a skill issue. Yes it has a browser overhead, and it will use a bit more RAM, but the bare-minimum time required to spin up the underlying Chromium shell and Nodejs runtime environment is 100-300ms, everything on top of it is just application overhead aka skill issue. My slack client opens almost instantly all the time, and it's as responsive as any native application around, sometimes even greatly more responsive than some native apps made by Apple.
emaro an hour ago
Not disagreeing with your general comment, but on my M3 Pro Slack takes 15+ seconds to start (usually snappy after that). I fucking hate it.
EddieRingle a day ago
Discord isn't really the model to follow here, IMO. They killed their native Android app and moved to React Native, and now they're dropping React Native (while mobile somehow keeps "native UI", according to their CTO's tweet). If they wanted to maximize code reuse and accelerate feature development, they should have instead considered Kotlin Multiplatform, then they could've skipped the React Native detour while actually building apps that are native to the platform. (Rust and its cacophony of UI frameworks are not really platform-native anywhere, as far as I'm aware. Maybe Pop OS, but I don't know anyone targeting that specifically.)
This bit is obviously subjective, but Rust as a language is simply not ergonomic enough for a lot of the use cases people are trying to apply it to, especially UI development. Most of the Rust UI libraries I've seen to date either use a more imperative style, or attempt to replicate more declarative approaches like Compose UI or SwiftUI, but without the nice language aesthetics that make it simple to read and write. And if the counter-argument there is for LLMs to be reading and writing this stuff, that's a whole other can of worms: (1) The subsidized inference era is quickly coming to an end and (2) if you're using LLMs anyway, why not maintain apps that are as native to each platform as possible?
franga2000 7 hours ago
Have you used Kotlin Multiplatform? I currently am and while it sounds great, it's nowhere near ready. Something as simple as scanning a QR code has been a week-long project - the Kotlin-only libraries suck, the Java ones don't work on iOS, the only Kotlin Multiplatform one pulled in 500 MB of dependencies (that's final app size, not development files!!).
There was legit a point where I considered embedding a webview just for the QR code scanning screen, but of course, embedding a webview turned out to be a similar mess.
pindab0ter 7 hours ago
I am not very familiar with Kotlin Multiplatform, but couldn't you use a Swift/Objective C library for iOS, while using a Kotlin library for Android? What would be the blocker to this?
franga2000 5 hours ago
afavour 15 hours ago
IMO Rust is great for creating a shared library that native clients then use. Mozilla even made a great library to handle all the FFI bindings:
https://mozilla.github.io/uniffi-rs/latest/
Mobile UIs are different enough and, these days, easy enough to construct that to my mind there isn’t much value in the cross platform UI proposition these days. But logic? Sure.
saagarjha 11 hours ago
Kotlin multiplatform is horrible on iOS, it’s basically as bad as React Native.
baist0 12 hours ago
"the nice language aesthetics" is shit in your head. i want good program without buying additional RAM.
Doohickey-d a day ago
One nice thing about Électron is that it supports accessbility and non-english IMEs correctly, and thus all Electron apps have decent accessibility out of the box, comparable to web apps.
Most Rust GUI toolkits, at least in 2025, did not have that good accessibility or IME: https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-...
Hopefully this has gotten better and the new discord client isn't worse in that regard.
robin_reala a day ago
GPUI has a single-paragraph accessibility section in their guide that defers to AccessKit[1] for everything, and points to a raw RS file for more info.[2]
I haven’t tested it or written anything using GPUI, but I’d expect it to be considerably harder work, based on the maturity of the web stack in this area. My assumptions have definitely been proven wrong before though… Anyone from Discord working on accessibility want to chime in?
[2] https://github.com/zed-industries/zed/blob/main/crates/gpui/...
numpad0 15 hours ago
oof. No proper support for IMEs is a huge non-starter for East Asia. Why don't they just use OS standard text renderers like everything before Rust?
Or is Discord planning to implement their own forks of existing IMEs into the app? Don't tell me they are going to just put in a tiny LLM and call it a day...
lifthrasiir 10 hours ago
Windows IMEs used to emulate the style of edit control to display its candidate text, and the guess was frequently wrong. That's hardly a new problem for East Asian.
numpad0 6 hours ago
mococa a day ago
I don't understand this idiocracy - it's super easy (I did myself alone many times) to have a single codebase in Qt for all OSes, even BSDs.
I think people become super lazy... "Ah, it's will ocupie a few hundreds of RAM, no problem, let's ship it."
They are companies with billions or even trillions shipping shit with Electron.
Aurornis 18 hours ago
> it's super easy (I did myself alone many times) to have a single codebase in Qt
I’ve worked in Qt apps on and off through my career.
I do not want Qt apps any more than I want Electron apps.
The solution is native apps using native platform tools, or one of the mature cross-platform toolkits.
ptx 18 hours ago
Which cross-platform toolkits are more mature than Qt?
Aurornis 16 hours ago
baist0 11 hours ago
For every one C++ programmer, there are 10 JS programmers.
pjmlp 7 hours ago
Unfortunately, as now we are stuck with JavaScript in all places.
72deluxe a day ago
This is definitely true. It seems to be the modern approach that the less effort in development, the better!
I too had code that worked across 3 platforms with wxwidgets and a 3D game toolkit incorporated in opengl for visualisation, with most 2d controls being drawn using wxwidgets OnPaint handlers for custom controls rendered natively on that platform. I wrote this single-handedly, with another colleague handling the network code and firmware on the remote hardware devices.
Everything else is sheer laziness as far as I am concerned. There's even less excuse today with the rise of LLMs to do the majority of UI coding for you.
ip26 19 hours ago
Not a front end developer but I’ve always assumed it was ROI - nobody felt a smaller memory footprint would drive enough incremental revenue to offset the costs, compared to the other things they could be doing.
What seems to have changed is the size of the costs - LLMs are really good at this - such that you can now say “well, maybe the returns aren’t that big, in fact maybe they’re zero, but this is easy enough, so why not”
De minimus improvement has always suffered this problem - we’re all fairly sure it’s worth something. Maybe there’s even real perceptible value when you fix the whole basket. But making the case is hard.
ivanjermakov a day ago
> single codebase in Qt
Not if your promary UI is web.
mococa a day ago
Qt runs on web too.
llbbdd 19 hours ago
hobo123 3 hours ago
I would understand if devs preferred to not bundle lots of libraries, so their mobile apps are faster and slimmer.
And yet most Android apps today take 50-100MB bundle size for very simple GUIs and take up lots of RAM and lots of time to load or react to anything.
So maybe we'd be better off with everyone bundling Qt after all.
spapas82 a day ago
I'm 100% on this since Electron is probably the worst thing that happened to the desktop development.
Hiwever, I'd like to hijack this front page article to for a related concern/question I've got.
It seems that all (popular) opensource LLM harnesses are either in JS or python (pi, hermes, opencode, paseo). The same seems to be true for closed source harnesses that I have used (deepseek, chatgpt).
I'd really like to ask why? I mean why somebody would use technologies like JS or python to implement a harness application instead of golang or rust or even C? I understand that before 1 year JS or python would be tempting but right now? Especially the LLm related companies have unlimited tokens and re-writing the harness software to golang or rust should be trivial.
This would benefit so many people (especiall considering the prices and scarcity of RAM these days).
So, why nobody does it? This is an honest question, I don't want to offend interpreted languages but it should be a universal truth that a compiled language is faster and consumes less ram.
Neikius a minute ago
Personally with LLMs now, I don't actually see a reason for dynamic languages at all. LLM now makes it faster so python, js and similar are fully redundant. It's all just inertia for now
hamandcheese a day ago
One good reason: extensibility. Pi is extremely malleable in ways that would probably be harder to achieve if it were in, say, Rust.
The resource usage of my harness is nothing compared to an electron app, and being able to easily customize it is more important to me than saving a few extra MB of ram.
2001zhaozhao 8 hours ago
This is why I like Kotlin (or Java). You can get the extensibility of Python/JS at native speeds and full multi-threading, with fast compile speeds. It does use more memory compared to Rust though.
spapas82 a day ago
I guess it depends on the harness, for example: chatgpt.exe right now is 1 GB on my windows machine. peseo.exe is 500 mb. and opencode.exe + bun.exe is 300 mb.
chrismustcode 18 hours ago
orwin a day ago
Because most of the recent improvements on correctness and 'memory' are from harnesses, my guess is that you want to iterate and test quickly on the software that seems to improve the most and differentiate your brand best. Once a harness is 'complete' (which might happen for specific harnesses, but probably never for code), the team might start to optimise it with compiled languages.
72deluxe a day ago
The problem is that they never reach this point where they put it into native code. So you always have a plethora of JavaScript and Python files littering your system. It's baffling.
codazoda a day ago
One possible reasons is that all of those are compiled languages vs interpreted. It doesn’t sound like much but compiling your code for three plus platforms and distributing binaries adds just enough complexity and friction to make it feel a lot more difficult.
spapas82 a day ago
I agree with that yes but consider how many people would benefit. And how easy it should be for them to do the change (and compile). It's just tokens.
bluGill 15 hours ago
Modern CI systems have no problem building for 15 or 20 different platforms is what you need. There's a little bit of hassle of distributing binaries but again it's not a big deal for anyone who actually puts their mind to it.
sitzkrieg 14 hours ago
72deluxe a day ago
But "friction" is the job, and "complexity" is the job. That's why we're developers.
davidmurdoch a day ago
Because it used to cost extraordinarily more money to build for a performance increases almost no one cares about.
spapas82 a day ago
chatgpt.exe right now is 1 GB on my windows machine. I have 16 GB and can spare none. So I don't think that nobody cares about such performance increases.
astrange a day ago
davidmurdoch a day ago
senordevnyc 19 hours ago
baist0 10 hours ago
Because there are more JS programmers, and they need to eat too.
sparkling 20 hours ago
Because the (wall clock) execution speed / performance oft the harness is tiny compared to waiting for the LLM response.
smusamashah a day ago
We have gotten so used to slow app startup these days I believe. I have recently started using Task Slinger [1] and every single time I boot it, I get a feeling that it was already running and it's window just showed up. I wish all modern software were like this.
gopher_space 19 hours ago
The old System Shock 2 is an inspiration for my own loading times. Launching the game instantly shows the main menu with your last save paused in the background. Clicking Play actually unpauses the game. There's no loading time and no process as far as a player is concerned.
ssernikk 18 hours ago
Do you know what tech stack do they use? The website only mentions custom Direct3D renderer.
Jtarii 18 hours ago
>Do you know what tech stack do they use?
If you are asking this kind of question you have already lost the plot. You don't need a "tech stack".
procone 13 hours ago
I'll pass on paid / proprietary task managers. But cool anecdote?
smusamashah 4 hours ago
Isn't that same as passing on all paid software?
swinglock a day ago
All modern apps are like this. It's Electron apps which are all legacy.
smusamashah 20 hours ago
No. Even windows' own task manager is not that fast. I don't think that most software most people use everyday on windows was built with strong focus on performance.
swinglock 19 hours ago
bemtevi a day ago
I've rarely liked any Electron apps, both for the performance and because it seems to encourage a feeling of bloatedness, for want of a better word. Tried VS Code, but dropped it when they started putting too much AI in it and too much complexity. Sublime is so much better.
I don't know...there seems to be something unpleasant about all Electron apps.
72deluxe a day ago
I agree. The lack of native user interface controls for accessing menus and the inability for them to properly track focus for keyboard usage for right clicking (for example) makes them really difficult to use. You have to use the mouse for everything.
I did use VS code for a while but I've just gone back to using QT Creator simply because it is so much faster to use in daily life.
stevefan1999 6 hours ago
Well, why not just move on from Windows and transition to Linux, as I did with CachyOS earlier few days ago. Doesn't even want to look back on Windows now since everything is so smooth and uses half the memory I needed compared to the equivalent in Windows! The only quirk I have is the xe driver that after suspension and resume the GPU may go haywire and I have to restart SDDM but I switched from S3 to S2 sleep and the problem seems to be worked around. I'm using an Arc Pro B50 so not sure if that's buggy on Linux whatsoever but it is metric tons better in Windows.
ZekeSulastin 2 hours ago
So what exactly does any of that have to do with switching ann application off of Electron, aside from Windows being in the headlines which makes sense given the site is “windowslatest.com”?
AdityaK_9999 8 hours ago
i believe that primary issue of electron is also that the framework consumes RAM/resources which is already a issue especially for windows which is a heavy OS on the RAM. the same side is visible on the Linux speciapic app ends of applications like VS code. they have poor integration , Loads of resource consumption and minimal polish
sirily11 7 hours ago
I really dont understand why when AI is available, big company still using electron for their apps. Codex was written in pure swift on macOS and right now moved to Electron again
rldjbpin 5 hours ago
for a team that was using the underlying stack (other than the ui library) for other components, trying this is a low-hanging fruit of an experiment. this should not automatically become the recommendation for everybody. (yes i do hate electron apps)
for a large project like electron, it is up to the maintainers to optimize it while preserving the api. if they can do this with typescript, they can also explore this with electron. perhaps a native webview option instead of chromium?
with current memory crisis, devs with cushy performant laptops bought over a year ago should realize that we yet again have hardware constraints and need to act accordingly. however, putting the pressure at the wrong place is not as productive.
jrmg a day ago
I don’t doubt that this will be faster and smaller than the current app, but it’s slightly annoying to me that the new app is getting so much coverage with specific claims about speed and memory usage when it’s not actually feature-complete or released yet.
whatever1 8 hours ago
Electron / react native are dead. LLMs can do the porting over multiple platforms.
Just spend the tokens, the native app user experience improvements are worth the effort.
CodeCompost 3 hours ago
What are they using for the new web app? Is it just plain React now? How is the logic being transpiled to WebAssembly?
azuanrb a day ago
Electron has always been about shipping cross-platform apps quickly, at the cost of higher memory usage and potentially worse performance. With or without LLMs, its core value proposition remains the same. LLMs simply amplify the framework’s existing strengths.
Raycast, originally a native macOS launcher, recently released v2 using a hybrid architecture. It’s not Electron, but it follows a similar approach to Spotify’s desktop app, using web technologies inside a native shell.
The memory usage is still pretty significant. It’s using around 350–450 MB at idle and can sometimes reach 1–2 GB depending on the workload. The upside is that they can now share most of their code across macOS and Windows and evolve beyond being just an app launcher.
It’s always been about trade-offs, and LLMs don’t fundamentally change that.
scosman a day ago
LLMs do change the tradeoff if you can now ship cross platform apps quickly, without electron.
GPUI is one example: some of the downsides of electron (UI is not native), but it solves memory and performance side, and shared codebase.
Just writing native apps because LLMs makes it cheaper is the other option. Shopify did this after years of react native.
azuanrb a day ago
> you can now ship cross platform apps quickly, without electron.
The opposite is also true. My argument is that you can also ship Electron apps with more features more quickly with LLMs.
You still have a finite token budget. With native apps, you have to split those tokens across multiple platforms, whereas with Electron, you can reuse most of the code.
Big companies have been going back and forth between native and cross-platform approaches even before LLMs. They generally have the resources (humans, tokens, compute) that small and medium-sized companies don’t have. So I’d take their rationale with a grain of salt.
scosman a day ago
CodesInChaos 16 hours ago
What I don't get is why most background electron/CEF applications don't unload the web engine when it's minimized to tray for some time. Chrome starts in about a second, the the webview shouldn't take more than that to re-initialize.
nomercy400 6 hours ago
What would happen if you do not have enough memory to reopen it? How would that impact the user experience?
lexicality 5 hours ago
well that'll probably happen less often if all these electron apps stop using 4GB of ram in the background constantly
NetMageSCW 16 hours ago
Probably because they have stuff to do in the background and so have to keep the javascript running.
kaelwd 14 hours ago
You don't need the whole browser frontend for that though, Electron also includes Node.js which is much less memory hungry.
jcelerier 15 hours ago
> Chrome starts in about a second,
on which machine ? go check the first three PCs here: https://www.amazon.ca/Best-Sellers-Laptop-Computers/zgbs/ele... ; do you think they open chrome in a second ?
Neywiny a day ago
They keep talking about 2 accounts logged in so that's why it's still high. But they've done nothing to defend that claim.
Also, pro tip, you can still just use it in browser. I hope that doesn't go away.
kccqzy 11 hours ago
Many other Electron apps also have a web version. I just make them pinned tabs in my Firefox.
orbital-decay 17 hours ago
If you ever wondered about the reasons people started using Telegram, this is a big part of why.
kryptonomist a day ago
Let’s hope we see a new wave of desktop apps rewritten natively, thanks to LLMs. Whether they use Rust with GPUI, C++ with Dear ImGui, or something else entirely, that would be great. Personally, I’m so fed up with bloated UIs. Windows is full of them, and it’s a pity considering how powerful our CPUs are.
r_lee a day ago
> C++ with Dear ImGui
it would be absolutely awful
compared to chromium, it's really limited, like it's just always a compromise with these
we should instead figure out a way to do electron but better and make it easier to do the things you can do with e.g. React with native languages and frameworks
debazel a day ago
The limitations are a large reason for why they're so resource efficient in the first place.
If you just reimplement Electron in a native language then you get... Chrome, which is already written in C++. The majority of RAM usage in Electron applications is from the native parts of Chrome itself and a decent ~40 MiB chunk for the Node.js runtime.
hobo123 3 hours ago
ogoffart a day ago
That’s what we’re trying to do with Slint (I work on it): a declarative, reactive UI like React, with the logic in Rust, C++, JS or Python. It needs no browser engine, so it uses a fraction of Electron’s memory.
amelius a day ago
QtQuick is quite good.
the__alchemist a day ago
Are you a web dev?
r_lee a day ago
caspper69 a day ago
I have had excellent results running a back-end Rust process that communicates with a C# Avalonia front-end via protobufs over named pipes on Windows and Domain Sockets on Linux and MacOS. With C# AOT I’ve been able to create self-contained apps that run incredibly fast despite the ipc between the front end and the rust core. I’m getting full 6 platform coverage too (Win/Linux/macOS on both x64 and arm64).
edit: Avalonia is quite mature, with accessibility to boot.
tcfhgj 4 hours ago
On Windows youd use windows-rs
airstrike a day ago
or Rust with things other than GPUI
cpursley a day ago
Crux, lets you use native UI but Rust for business layer: https://github.com/redbadger/crux
ezst a day ago
Is that a whole UI re-write in a native/non-web framework? Because in case that's not, this is still running in a browser, i.e. it stands at 80% or so of the bloat factor of electron, and what makes it faster is possibly (mainly?) that they haven't gotten yet to adding as much stuff as seen on the regular client.
Discord is a server-side protocol (the client isn't doing much besides displaying the server-prescribed state), there's very little logic/computation going on on there that should explain a world of difference.
mrichman 15 hours ago
Would love to see VS Code ditch Electron
kasabali 7 hours ago
They should ship a native Windows IDE
... oh wait
loremdifr 11 hours ago
Theres a small subset of apps where I still think electron can sort of be worth it, but its definitely never any of the always active or second monitor apps like we often end up seeing. I think an app you dont mind closing when youre done, and that doesnt expect or require to be run alongside other demandind apps, could potentially be worth building with Electron. But that is sadly not the category of apps that are often built with it.
ChicagoDave 17 hours ago
I’ve been building an app with Avalonia and it seems pretty snappy. Wonder why it’s not in the comparison.
tonymet 15 hours ago
I hope it's a tremendous success that inspires every app to rebuild native. We've been in the dark ages of desktop apps with 200ms click response times and 15hz rendering, 30 second load times despite having a super computer worth of hardware on every desktop.
Anyone who ran Windows 2k , or OS 9 remembers when apps opened instantly and were always responsive, because IO was dog slow (both disk & network access) -- no one dared to block the UI on an IO call.
Give us back our hardware!
gkcnlr a day ago
I think the reason why web technologies that are essentially being ported to desktop is not only because they provide cross-platform compatibility (still lacking a standardization on Linux), but they tremendously helped the hustle culture built around the motto of "ship it fast" by providing the fastest iterations and benefiting from already existing cheap pool of web developers, especially via outsourcing/offshoring.
Nowadays, AI (LLMs, genAI, call it what you will) has become so cheap to handle more than one codebase, they no longer feel the need for web only approaches.
SaintRomuald 8 hours ago
I find it surprising that they are still investing in performance improvements, because to me for a while now it looked like discord has entered the enshitification stage of life, where they go purely for maximizing profits with no regard for user experience. As they had recently hit the news with their age verification requirements I thought that it's over for discord as they will start limiting the users and selling their data en masse.
dist-epoch 4 hours ago
That's a skewed perspective.
Discord always deeply cared about their users. Which is why nobody is able to get even close to replacing them.
They are adding user requested features and improvements all the time. They might not be what you consider "improvement", but maybe you are not really their target market.
nikanj 8 hours ago
You can thank legislators across the globe for the age check thing
deepsun 16 hours ago
I also noticed that the "smoothness", when everything feels quicker, is immediately noticeable on desktop (vs laptop), all apps, several laptops (Mac, Thinkpad, Framework).
JustinELRoberts a day ago
The barrier to entry for GPUI might be a bit high for some, but is there really any argument to be made against migrating to Tauri?
hxorr 19 hours ago
With Tauri you have to support multiple web engines. It uses webkitgtk on linux - which has its own set of issues, including being somewhat behind chromium/firefox in terms of stability/security/performance/features...
the__alchemist a day ago
Tauri's value prop over EGUI and GPUI is that its syntax is familiar to web devs.
cpursley 10 hours ago
Are there any fully fledged ui frameworks (components) for Taurus that I can look into?
0gs a day ago
was wondering the same thing; my hunch-memory is that Tauri is not as performant on Windows. but that has not been my experience, Tauri seems great
sick_of_slop a day ago
The argument against Tauri is that it uses system web view so you get platform incompatibilities.
cykros a day ago
I literally just run another browser Window with discord on the web rather than the native app.
Discord is probably my least favorite thing to happen to chatting online, but for some reason it's what everyone wants to fucking use.
Aozora7 a day ago
Discord is my favorite thing to happen to chatting online. It combined everything useful from IRC, Skype and TeamSpeak, in one application and with modern UI, and things we now take for granted like attachments and link embeds. And even 10 years later, there are still no alternatives that aren't just discord but worse.
abhinavk a day ago
Discord tab also uses 500-600MB of RAM. This is private resident bytes of the tab excluding browser and its helper processes.
jayd16 18 hours ago
Has this released yet? We're just going from self reported improvement right now?
spacechild1 6 hours ago
This gave me a good laugh. Like, who could have known?
There's absolutely no reason why a simple chat client should take more than a fraction of a second to start. If you need to fetch data from the web, just do it progressively. Not to mention that 290 MB is still way too much.
It's ridiculous how over the last 20 years simple apps became slower and slower while computers became faster and faster.
At the same time, REAPER (a full digital audio workstation) opens in less than a second.
These so-called software engineers seem to have completely lost the baseline of what is possible on modern computers. Or they just don't care.
petterroea a day ago
It's hard to say "Discord just showed why" before the product is in production and sees actual use. Promising initial statistics, but the transition is based on a lot of assumptions that won't really be proven until mass adoption and the software has seen long-term maintenance.
flohofwoe a day ago
...exactly, and at some point you want to show inline animations or videos and all sorts of other media, show webpage previews, play audio snippets and all the other things things a webpage can do, and then you're back to either integrating a browser engine or attempt to write one from scratch (the browser engine can of course be provided by the system webview, e.g. what Tauri does).
goalieca a day ago
I’ve programmed inline video players for 25 years. Same with audio and everything else. We had “accelerated” graphics back with winxp and gdi+ and of course OpenGL over ssh with x11. Browser preview pages in most apps are usually snippets of text and maybe an icon or pic. Not rendering a full page.
In a way, applications regressed a lot with react native and electron. I get it’s easier to develop but the apps are very bloated and underperforming even on computers with 10-100x more power.
bulder 16 hours ago
ryandrake a day ago
If LLMs are truly driving the cost of "writing code" down to zero, then we shouldn't need Electron anymore. The whining from developers about how it's soooooo hard to write and maintain N separate native applications is no longer valid. Point an LLM at your existing Electron code base and have it fork off a bunch of native ports of it. LLMs are surprisingly good at matching the functionality of existing software. Keep and maintain the Electron app as an internal reference design (your developers probably only know JavaScript anyway) and "build" all your actual production releases from that.
giancarlostoro 19 hours ago
One thing Electron has over Tauri for Discords case is WebRTC. I tried making an open source alternative using Tauri and got plenty far, then I learned that WebRTC on Linux is not OOTB since its still experimental. Webkit on Linux requires WebkitGTK, so everything under the sun out there that had “webviews” cross-platform cannot do WebRTC ootb.
At least now Discord will consume your GPU vram while you game.
Sean-Der 19 hours ago
This is so close to being fixed!
I am guessing this is just capture/playback code issue? You have a portable WebRTC stack in rust https://github.com/webrtc-rs/webrtc
I haven't used Tauri myself but this sounds like a fun thing to go fix. Silly this is a blocking issue.
giancarlostoro 13 hours ago
I think I wound up hacking something in Rust which is less than ideal felt hackish, at that point I was better off just remaking the UI in an actual native UI stack.
Still too many Rust UI stacks are GPU driven.
opengrass a day ago
Signal is still dragging Electron, can't have a working FreeBSD port due to dependency hell. Also VSCode.
fg137 a day ago
Meanwhile Zed isn't really usable on machines without a GPU e.g. VDIs
https://github.com/zed-industries/zed/discussions/17212
I don't know if we have a winner here.
tancop 7 hours ago
You can install Lavapipe to get a software rendered Vulkan driver, it's not as fast as a GPU but pretty reliable. It even works on Windows.
opengrass 3 hours ago
Lite XL is fast.
anthk 18 hours ago
Lapce works, so does the ArtCraft suite even on Aros. No Vulkan there, just MESA 26 with OpenGL 4.6+ and that's it.
Altough I use evcode myself. But there are tons of GUI IDE's/editors for Rust out there.
Also, this curb-stoms VS Code:
lichenwarp 16 hours ago
bl4kers 21 hours ago
Just use the website. It's going to be a better experience than the vibecoded Rust approximation for the foreseeable future
codedokode 19 hours ago
For me the ugliest part of Electron is that it uses client-server model inside a program and includes both a browser and Node.JS. This is so stupid. If you love microservices so much why don't you put every React component in a separate process?
Also, browsers contain too much bloat, why do you need support for elements like "hr" or attributes like "cellpadding" in a modern app? Throw away all legacy garbage.
Also, immediate mode UIs (like Rust's egui) are even worse garbage than a browser. "Immediate mode" means that on every mouse move a function is run that re-draws whole window from scratch. I tried running PhotoCraft (uses egui) in a VM with no GPU and it felt like playing a game at 3 fps. The CPU is simply unable to redraw whole GUI with acceptable speed. It will be especially bad on 4K and 8K screens.
kasabali 7 hours ago
I somehow doubt hr element is the reason Electron is a bloated shitpile.
a3w 6 hours ago
AI;DR.
"Technology: Role in Discord | Not used" was most useless table in a while, that was when I noticed.
red_admiral 5 hours ago
Back in the day, Microsoft got into trouble for shipping a free browser together with its OS (https://xkcd.com/1118/). Somehow I wasn't expecting 'every app ships its own browser' to be the solution.
To be fair, multi-platform GUI development is _hard_ to do properly, just look at the differences between menu bars on Windows and Mac OS. In theory you could ship electron once as a dependency, similar to the various MSVC++ runtimes, but then you've reinvented 'dll hell'.
Any attempts to fix this probably end up with https://xkcd.com/927/
MrDOS 16 hours ago
Yeah, native clients are pretty great. Why did you think people kept risking getting banned in order to use them?
itopaloglu83 a day ago
On another note, Microsoft Teams and new Outlook use very little amount of memory on paper, because their main windows show up under the Edge name. It’s a Microsoft way of solving the high ram usage problem.
goda90 a day ago
WebView2. Other applications can also use it but it seems like there's less out-of-the-box functionality than Electron
senorrib a day ago
That’s also how Tauri claims to use so little ram.
jasonvorhe a day ago
By being dishonest and misleading?
snarfy a day ago
When they can all share the same Electron implementation instead of individual copies it reduces memory quite a bit. I'm not trying to defend Electron way of development but I can see why they pushed WebView2.
lunar_rover a day ago
By reusing the system webview? It's what web frameworks should've done.
pwg a day ago
When has Microsoft not been dishonest and misleading? Being dishonest and misleading has been Microsoft's entire game plan since all the way back into the Bill Gates era.
Scharkenberg 17 hours ago
What an insane take. Also, the parent comment is incorrect, because the WebView2 memory is clearly attributed for both Teams and new Outlook in Task Manager.
wolvesechoes 4 hours ago
Discord just showed how low the bar is, if the new version in considered lean and fast.
proneb1rd 7 hours ago
This website could work much faster if it wasn’t loading 100s of ads.
Low effort article.
ChrisArchitect 21 hours ago
Related:
Discord is ditching Electron and its new app uses less RAM
mococa a day ago
On my mac I’ve banned Electron apps, only native ones - Slack on Safari.
cedws 20 hours ago
I’m disappointed to see the continued proliferation of JavaScript and TypeScript. I cannot fathom why people are using these garbage languages still when we have so much better options and code is essentially free now.
hyperhello 20 hours ago
These languages were developed for hypertext. Discord is hypertext. The question is why Rust or C++ or anything would be so suitable for developing chat rooms; it’s not even clear why JavaScript would necessarily be slower after being statically compiled.
cedws 8 hours ago
It’s not just about speed. Have you ever come across the utter tire fire that is npm? Or the horrors of [object Object]?
hyperhello 4 hours ago
drnick1 17 hours ago
So Discord rediscovered that native apps are faster? Until fairly recently, every proper desktop "app" was written in C/C++. In other news, water is wet.
sbseitz 18 hours ago
Agreed, Electron is garbage.
revolvingthrow 20 hours ago
Hot take, but: love electron. Write once, runs anywhere. The majority of bugs aren't platform specific. Easy to get nice visuals that stay consistent across different OS. Yes, it's not native. I don't care. It's not a painting to be admired. The focus on looks and visuals versus usability and ux is a plague.
Yeah, it takes some extra ram. Fork my stuff and rewrite it in rust if you care. I don't. The few hot spots can be fixed by using a lower level language. Is vs code not zippy enough? I certainly haven't noticed the slowness. People keep complaining about unnecessary load as if hardware hasn't progressed since 2004. It's hugely important for things like your OS. A few apps you run twice a month? Who cares.
But what about software used by billions, asks a person angry about my electron project used by thousands? How many ages were taken up by the five second startup time when you multiply that by however many users (all this time would be spent curing cancer of course)? Sure, improve performance when needed. For the vast majority of projects it's not needed. The average computer isn't pi zero.
vazark 5 hours ago
That doesn't mean you can't use something better when that comes along. Using these new Rust GUI frameworks is basically the same as electron, you use rust instead of web tech.
This approach isn't groundbreaking, QT framework does this commercially for the past few decades. AI has just made it easier to manage & migrate.
bigstrat2003 20 hours ago
> Yeah, it takes some extra ram. Fork my stuff and rewrite it in rust if you care. I don't.
And that, right there, is why people hate apps which use Electron. You are spending my system resources so that you can be lazy and not have to program as much. That's not really acceptable development practice.
scheme271 10 hours ago
It's the other way around though. A lot of times, it's spending system resources so that they can use something that will run on your OS. Most apps using electron wouldn't have linux versions if electron wasn't a thing.
CamperBob2 18 hours ago
If it's FOSS, what's your beef? You want a native version, point a clanker at the repo and tell it to party on.
baist0 12 hours ago
we should kill web-monkeys.
mpalmer a day ago
Discord’s new Rust client had its friends list loaded before the current Electron app could get past its loading screen, in a 15-second clip that we found on the X account of Discord co-founder and CTO Stanislav Vishnevskiy. The video had 2.3 million views at the time of writing, and Discord employees have confirmed that both apps were launched from a cold start.
Crazy what passes for journalism these days.tapper a day ago
I hope they can do some work on a11y because it's bed. Not as bad as it was but still slow and clunky to use with a screen reader.
cpursley a day ago
Great option for this that lets you use Rust along with real native UI for cross platform: https://github.com/redbadger/crux
bscphil a day ago
"cross platform" I just spent 10 minutes trying to figure out what it uses for native on Linux, and whether it supports both Qt and GTK. Turns out the docs don't even mention Windows? "Cross platform" is now just MacOS + iOS + Android + Web? I guess the thought is supposed to be that crux helps you port your app to Windows if you want to... but even the example applications only run on those four platforms.
cpursley 10 hours ago
Surac a day ago
Rust to death i told them
jdw64 18 hours ago
Many people dislike Electron, but there's a reason it's still widely chosen. It runs on Linux, macOS, and Windows. With C++ or C#, you have to build differently each time, and cross-platform support is difficult. And fundamentally, it brings over web syntax as-is more than other frameworks, making front-end styling convenient.
I'm well aware that Electron has a large RAM footprint and installation size, but doing a polyglot architecture instead puts more cognitive load on you. Projects that mix multiple languages are a pain just to manage. I'd rather hope Electron gets better optimized.
npongratz 14 hours ago
> I'm well aware that Electron has a large RAM footprint and installation size, but doing a polyglot architecture instead puts more cognitive load on you. Projects that mix multiple languages are a pain just to manage.
I'm not directing this at you, but to all developers using Electron and its ilk:
Show some empathy for your users and shoulder that cognitive load so that your users can have their hardware back. That's just courtesy, and a responsibility a good engineer takes on. There are so many more users than there are of you, their aggregate gain from your efficient software far outweighs whatever extra work is necessary to do the decent thing.
jdw64 6 hours ago
I don't think you're wrong. But there's a limit to the languages and technologies a person can learn. In that sense, Electron is efficient. Just as a product doesn't necessarily win just because it has better performance.
Rohansi 17 hours ago
> I'd rather hope Electron gets better optimized.
Everyone always blames the browser. Why don't we blame [insert native app framework] for apps being slow too?
Everyone builds web apps using bloated frameworks and don't spend time optimizing any of their code. I wonder how much more efficient they could've made the Discord client without getting rid of Electron, just for a more meaningful comparison.
vazark 5 hours ago
because native apps aren't slow. Businesses didn't want to spend money on redundant effort replicating the same feature for each platform. No matter how efficiently you use electron, it is fundamentally a browser and server in a strait jacket pretending to be app. That's why it's bloated/inefficient. The JS framework used in negligible in comparison.
Rohansi an hour ago
zerr 20 hours ago
So, it has always been a skill issue.
xlayn 17 hours ago
OR you can use Lazarus pascal and ship a 5mb application that uses 13Mb of RAM and runs everywhere instead of a 150MB installer that installs the nth multigb copy of the same application with different hat that leaves free 13Mb of RAM. https://github.com/alainnothere/mailBoy
Electron apps are a disease.
BUT BUT THEY LOOK GREAT, LOOKING GREAT SHOULD COST 1000$ OF RAM BUGA BUGA...
tapper a day ago
Could they of used servo?
LoganDark a day ago
I would not add alternative accounts to the account switcher, they've used these to coordinate bans ever since the account switcher's inception.
fnord77 19 hours ago
interesting, I would have guess Tauri. til GPUI
samiv a day ago
Don't worry I'm sure they'll find a way to make the rust based client crawl too soon enough.
Slapping a few million lines of AI generated slop code ought to do it for instance.
VCFundedGenYer a day ago
I've not seen the performance deficits demonstrated in this article. The article also does not discuss the specs.
Not to mention Windows is a very heavy slow inefficient and poorly made OS.
You don't see these issues generally on Linux or macOS.
bryanhogan 5 hours ago
I think this article is misleading, you can use any framework to make slow bloated software. A great thing about Electron and similar projects is that you get one codebase which is useable on many different platforms. An Electron application can easily be a website and PWA, then the user can choose what they prefer.
A good example fast / "performant" software which uses Electron is Obsidian.
Yes Electron isn't perfect, but I think it's a good choice for many situations. Same for Tauri, CapacitorJS, etc. Regardless of which is chosen, there should be an effort to make software performant and non-bloated.