40 comments

  • cheschire8 hours ago
    I&#x27;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.<p>Electron&#x27;s value prop has always been about having one team producing one app that is supported on multiple platforms with minimal additional effort.<p>This article does nothing to address that.
    • accurrent7 hours ago
      A huge pain of desktop development is managing dependencies particularly if you are coming from C++&#x2F;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&#x27;d need bespoke libraries which your end user may not have.<p>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&#x2F;microphone or multimedia access you&#x27;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).<p>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&#x2F;rust do a pretty good job of making sure it&#x27;s bundled with your app. Other languages also now have similarly useful tools.
      • 72deluxe6 hours 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&#x27;t see the advantage you&#x27;re arguing for?
        • cogman105 hours ago
          It comes down to package distribution.<p>Chrome had already solved the hard problem of &quot;how do we support webcams on linux, windows, and mac&quot; and you as the dev just needed to use the Javascript webcam api. ( <a href="https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;MediaDevices&#x2F;getUserMedia" rel="nofollow">https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;API&#x2F;MediaDevice...</a> )<p>In C++ land, you are ultimately going to either need to cook up your own webcam library or look for a 3rd party (which, in 2010, likely didn&#x27;t exist) to provide it.<p>Today, there are a few easy to discover rust crates which provide cross platform webcam apis. But further, rust does cross platform better than C&#x2F;C++ IMO. It&#x27;s really easy to change how code is compiled based on the target. That was all well thought out because rust was supposed to be a language for browsers.
          • pjmlp10 minutes ago
            Qt is easily obtainable via vcpkg or conan.
        • jasomill2 hours ago
          Dynamic vs static linking is mostly a red herring for desktop GUI application development unless you want to integrate into something like Linux distro package managers, as dynamic libraries on Mac and Windows can be self-contained within the application bundle&#x2F;directory with no disadvantage beyond marginally longer startup time, and you can do similar things with Flatpak and friends on Linux.<p>The real difference is that Rust provides a package repository with a unified build system that&#x27;s as simple to use as NPM or NuGet.<p>vcpkg which is similar exists today, but it didn&#x27;t in 2015 when Discord started, still isn&#x27;t anywhere near as comprehensive as package repositories for languages where package management is part of the standard toolchain, and the underlying build systems are far messier under the hood.<p>It can also be helpful in development to use libraries built from source as part of the application&#x27;s build process, at least as an easily-accessible option, which wasn&#x27;t common practice in most C&#x2F;C++ ecosystems historically where different libraries used different build systems and if you wanted to integrate them into something like a Visual Studio solution for easy reference to source code during development and debugging you were often on your own.
      • cosmotic4 hours 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&#x27;re accepting custom interface using electron, that was doable with Java too.
        • threetonesun26 minutes ago
          JetBrains IDEs arguably look&#x2F;behave better than VSCode as far as a native app goes. I wouldn&#x27;t say either look great on MacOS but a truly &quot;native feeling&quot; Mac app is usually quite different than a Linux&#x2F;Windows equivalent.
          • pjmlp11 minutes ago
            Long time ago, Apple had a proper OS X Swing L&amp;F, when you could do Cocoa in Java, and there was still some uncertainty if Objective-C would be embraced by Mac OS development community.
      • pjmlp48 minutes ago
        Usually it is hard for those coming from scripting languages.<p>Strangely enough we managed to write portable code across platforms during the last century, and there were more than only three major desktop OSes.
    • Grombobulous7 hours ago
      The article at least indirectly addresses that.<p>At the time Electron came out, there weren’t as many cross-platform UI frameworks available that they could have gone with.<p>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.<p>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.
      • jenadine5 hours ago
        GPUI works well for Zed, but it&#x27;s built for Zed&#x27;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.
      • pjmlp46 minutes 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.
      • AlienRobot6 hours ago
        Why <a href="https:&#x2F;&#x2F;gpui.rs&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gpui.rs&#x2F;</a> doesn&#x27;t have a single screenshot of how it actually looks?<p>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.<p>This happens so often it makes me wonder if people just don&#x27;t know how to take a screenshot and put it in a webpage with &lt;img&gt;.
        • Grombobulous6 hours ago
          Probably because it&#x27;s not meant to be like Bootstrap.js where everyone&#x27;s UI looks identical?
          • small_scombrus6 hours ago
            Even still, some screenshots of <i>here&#x27;s something we made earlier</i> are always nice to see what&#x27;s possible
          • AlienRobot6 hours ago
            Even imgui has screnshots.
    • tekla7 hours ago
      The problem is that it made everyone&#x27;s life worse.
      • johnh-hn7 hours 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.<p>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.
        • freecodeio7 hours ago
          nice point, people like to shit on the web but it has one of the biggest accessibility features that most of the gui frameworks would just leave them as feature suggestions for years
          • hajile7 hours ago
            I&#x27;d note that as stuff like A11y gets added into something like Discord, we&#x27;ll see the app slowly bloat up to compensate.<p>Google Chrome generally used around 25mb per tab in 2010. Today, that number is often 500mb or even 1gb.
            • masfuerte5 hours ago
              And Windows apps had accessibility before computers had 25MB RAM in total. Accessibility is not the cause of bloat.
              • freecodeio5 hours ago
                do any of these native GUI libraries provide just as rich accessibility experiences to disabled people?
            • Ygg26 hours ago
              Would you really need 500mb for accessibility? Can&#x27;t text to speech be outsourced to the OS or companion app?
          • pjmlp8 minutes ago
            All the native APIs across major platforms have accessibility features, how do you think browsers implement theirs?
      • Grombobulous7 hours 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 <i>was a solution.</i><p>Election predates WebAssembly by 5 years and hit the scene only one year after Rust was first created.<p>And just like JQuery, its time is coming to a close as better frameworks are available now that weren’t available back then.
        • bigstrat200357 minutes ago
          &gt; We can just admit that it was a good solution for the problems of its time just like JQuery.<p>We would be lying if we did that. Electron was never, ever a good solution. It was something solely used by devs who prioritized their own ease of work over the actual user experience, i.e. bad devs.
        • s3p7 hours ago
          I never thought election was a good solution for the problems of its time. Just call it a web app and don&#x27;t lie to people releasing something &quot;native&quot; for them to download.
          • Grombobulous6 hours ago
            Discord actually launched as a web app, and then moved to adding a desktop app, which has quite obviously become far more popular than visiting discordapp.com and using it in the browser.<p>Why do you think that is?<p>I&#x27;ll give you a hint: if I close my web browser, how do I get a notification that I got a new message? Make sure you also pretend it&#x27;s 2015 (launch year of Discord) and that I might be using Firefox, Safari, or Edge.<p>The funny part about this complaint is that you can literally just use the web app if you hate the desktop Electron app so much. That&#x27;s one of the main benefits of Electron!
          • Kuraj6 hours ago
            Noone is claiming that, though.<p>Discord isn&#x27;t packaged as an Electron app simply because it pretends to be native, but because it has an entire system integration layer that isn&#x27;t available in the web version.
        • Brian_K_White50 minutes ago
          It was never a good solution and there is no reason to ever stop calling a turd a turd.
    • RunSet7 hours ago
      &gt; Electron&#x27;s value prop<p>&quot;Now you can have the cross-platform compatibility of a single-page application just by bundling Chrome.&quot;
      • zdragnar7 hours ago
        It&#x27;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.<p>Not a great justification, but it made a bit more sense then.
        • 72deluxe5 hours ago
          That&#x27;s like saying it would make sense to make Internet Explorer work on all platforms. It doesn&#x27;t make sense.<p>The solution is to use user interface toolkits that are available on each platform. For example, wxWidgets or Qt or appropriate bindings to them if you can&#x27;t be bothered to write UI code for each platform you&#x27;re targeting.
          • toast052 minutes ago
            &gt; That&#x27;s like saying it would make sense to make Internet Explorer work on all platforms. It doesn&#x27;t make sense.<p>Why not? Microsoft released IE for win16, win32, wince, macos system 7 through 9, macos X, Solaris, HP-UX. If it ran on all those platforms, Microsoft probably could have supported it on any platform that had the capability of running graphical web browsers.
    • IshKebab7 hours ago
      &gt; The article does nothing to address that.<p>I dunno if you&#x27;ve been living under an enormous rock, but they used AI to make this.
  • LaurensBER8 hours 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&#x27;s time for something better at this point.<p>With the ram prices as crazy as they are. It&#x27;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.<p>It&#x27;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.
    • pasc18787 hours ago
      Sorry can you show a decent GUI app in Electron compared with a native one.<p>You show this by all your other comments on memory. The reason apps take memory is Electron.<p>Plus I prefer apps that behave like OS native apps not the reduced GUI of web apps.
      • Peanuts997 hours ago
        VS Code is a perfectly fine and pretty performant app.
        • denimnerd4258 minutes ago
          Erich Gamma started VS Code (through Monaco). That&#x27;s saying a lot about Erich Gamma and not a lot about Electron.<p>It&#x27;s also had a ton of work done to make it performant. (Microsoft level resources)
        • bigstrat200352 minutes ago
          No it isn&#x27;t. It takes over 1 GB of memory just to open up a handful of source code files that each are under 1 MB in size (and which, for reference, Sublime can open with 300 MB used). It&#x27;s an absolute pig.
        • codazoda6 hours ago
          Probably at the edge of being a good example. I recently switched to zed because of how bloated VS Code is becoming. I think it gained it’s momentum by being small, but enshitification seems to come for all software.
          • thunky5 hours ago
            Based on the hype I tried zed thinking it would feel amazing compared to vscode, and it just didn&#x27;t.
          • brettermeier6 hours ago
            I don&#x27;t know your Standards, but VS Code feels very smooth.
      • kelseyfrog7 hours ago
        I volunteer as the arbiter of decency!
      • szundi7 hours ago
        [dead]
  • EddieRingle7 hours ago
    Discord isn&#x27;t really the model to follow here, IMO. They killed their native Android app and moved to React Native, and now they&#x27;re dropping React Native (while mobile somehow keeps &quot;native UI&quot;, according to their CTO&#x27;s tweet). If they wanted to maximize code reuse and accelerate feature development, they should have instead considered Kotlin Multiplatform, then they could&#x27;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&#x27;m aware. Maybe Pop OS, but I don&#x27;t know anyone targeting that specifically.)<p>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&#x27;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&#x27;s a whole other can of worms: (1) The subsidized inference era is quickly coming to an end and (2) if you&#x27;re using LLMs anyway, why not maintain apps that are as native to each platform as possible?
  • mococa6 hours ago
    I don&#x27;t understand this idiocracy - it&#x27;s super easy (I did myself alone many times) to have a single codebase in Qt for all OSes, even BSDs.<p>I think people become super lazy... &quot;Ah, it&#x27;s will ocupie a few hundreds of RAM, no problem, let&#x27;s ship it.&quot;<p>They are companies with billions or even trillions shipping shit with Electron.
    • 72deluxe5 hours ago
      This is definitely true. It seems to be the modern approach that the less effort in development, the better!<p>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.<p>Everything else is sheer laziness as far as I am concerned. There&#x27;s even less excuse today with the rise of LLMs to do the majority of UI coding for you.
      • ip268 minutes 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.<p>What seems to have changed is the size of the costs - LLMs are really good at this - such that you can now say <i>“well, maybe the returns aren’t that big, in fact maybe they’re zero, but this is easy enough, so why not”</i><p>De minimus improvement has always suffered this problem - we’re all fairly sure it’s worth <i>something</i>. Maybe there’s even real perceptible value when you fix the whole basket. But making the case is hard.
    • ivanjermakov5 hours ago
      &gt; single codebase in Qt<p>Not if your promary UI is web.
      • mococa4 hours ago
        Qt runs on web too.
        • llbbdd5 minutes ago
          Web version has 0 accessibility, which is a no-go for real products
  • smusamashah8 hours 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&#x27;s window just showed up. I wish all modern software were like this.<p>[1]: <a href="https:&#x2F;&#x2F;taskslinger.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;taskslinger.net&#x2F;</a>
    • gopher_space38 minutes 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&#x27;s no loading time and no <i>process</i> as far as a player is concerned.
    • swinglock7 hours ago
      All modern apps are like this. It&#x27;s Electron apps which are all legacy.
      • smusamashah55 minutes ago
        No. Even windows&#x27; own task manager is not that fast. I don&#x27;t think that most software most people use everyday on windows was built with strong focus on performance.
        • swinglock17 minutes ago
          My point is no Electron app should be considered &quot;modern&quot; at this point.
  • bemtevi8 hours ago
    I&#x27;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.<p>I don&#x27;t know...there seems to be something unpleasant about all Electron apps.
    • 72deluxe5 hours 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.<p>I did use VS code for a while but I&#x27;ve just gone back to using QT Creator simply because it is so much faster to use in daily life.
    • sick_of_slop5 hours ago
      [dead]
  • Doohickey-d7 hours 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.<p>Most Rust GUI toolkits, at least in 2025, did not have that good accessibility or IME: <a href="https:&#x2F;&#x2F;www.boringcactus.com&#x2F;2025&#x2F;04&#x2F;13&#x2F;2025-survey-of-rust-gui-libraries.html" rel="nofollow">https:&#x2F;&#x2F;www.boringcactus.com&#x2F;2025&#x2F;04&#x2F;13&#x2F;2025-survey-of-rust-...</a><p>Hopefully this has gotten better and the new discord client isn&#x27;t worse in that regard.
    • robin_reala7 hours 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]<p>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?<p>[1] <a href="https:&#x2F;&#x2F;accesskit.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;accesskit.dev&#x2F;</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;zed-industries&#x2F;zed&#x2F;blob&#x2F;main&#x2F;crates&#x2F;gpui&#x2F;src&#x2F;_accessibility.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zed-industries&#x2F;zed&#x2F;blob&#x2F;main&#x2F;crates&#x2F;gpui&#x2F;...</a>
  • spapas826 hours ago
    I&#x27;m 100% on this since Electron is probably the worst thing that happened to the desktop development.<p>Hiwever, I&#x27;d like to hijack this front page article to for a related concern&#x2F;question I&#x27;ve got.<p>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).<p>I&#x27;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.<p>This would benefit so many people (especiall considering the prices and scarcity of RAM these days).<p>So, why nobody does it? This is an honest question, I don&#x27;t want to offend interpreted languages but it should be a <i>universal</i> truth that a compiled language is faster and consumes less ram.
    • hamandcheese6 hours ago
      One good reason: extensibility. Pi is extremely malleable in ways that would probably be harder to achieve if it were in, say, Rust.<p>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.
      • spapas826 hours 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.
    • orwin6 hours ago
      Because most of the recent improvements on correctness and &#x27;memory&#x27; 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 &#x27;complete&#x27; (which might happen for specific harnesses, but probably never for code), the team might start to optimise it with compiled languages.
      • 72deluxe5 hours 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&#x27;s baffling.
    • codazoda6 hours 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.
      • spapas826 hours 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&#x27;s just tokens.
      • 72deluxe5 hours ago
        But &quot;friction&quot; is the job, and &quot;complexity&quot; is the job. That&#x27;s why we&#x27;re developers.
    • sparkling52 minutes ago
      Because the (wall clock) execution speed &#x2F; performance oft the harness is tiny compared to waiting for the LLM response.
    • davidmurdoch6 hours ago
      Because it used to cost extraordinarily more money to build for a performance increases almost no one cares about.
      • spapas826 hours ago
        chatgpt.exe right now is 1 GB on my windows machine. I have 16 GB and can spare none. So I don&#x27;t think that nobody cares about such performance increases.
        • senordevnyc0 minutes ago
          But you’re running it, aren’t you? So from the business perspective, you don’t care enough for it to matter.
        • astrange6 hours ago
          &gt; chatgpt.exe right now is 1 GB on my windows machine. I have 16 GB and can spare none.<p>These are not the same units, because all modern OSes have compressed swap.
        • davidmurdoch6 hours ago
          Most don&#x27;t care or ever notice these things. Hacker News crowd does and always has, but the a non-technical user of a run-of-the-mill desktop app would rather have new features, and maybe some bug fixes, over performance.<p>Myself? I care. I regularly run a project that needs 6GB for the language server to provide type hints.
          • Telaneo18 minutes ago
            &gt; but the a non-technical user of a run-of-the-mill desktop app would rather have new features, and maybe some bug fixes, over performance.<p>Ask anyone with a 5 year or older laptop that wasn&#x27;t top of the line when it came out and can&#x27;t afford a new one, and I think you&#x27;ll find they&#x27;re of the exact opposite opinion. And even if they aren&#x27;t explicitly, they might have abandoned their PC and instead switched to their phone for their personal computing, just because that experience turned out more coherently for them.<p>Heck, even the normal user with a decent laptop probably would take better performance if given the option, but when have they ever been given that option? The current state just isn&#x27;t unperformant <i>enough</i> that it crosses the threshold to the point where it&#x27;s at the front of mind for people. If anything, that threshold is probably beyond the threshold of &#x27;eh, I&#x27;ll just use my phone for this&#x27; for any task that doesn&#x27;t need a keyboard.
  • azuanrb7 hours 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.<p>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.<p>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.<p>It’s always been about trade-offs, and LLMs don’t fundamentally change that.
    • scosman7 hours ago
      LLMs do change the tradeoff if you can now ship cross platform apps quickly, without electron.<p>GPUI is one example: some of the downsides of electron (UI is not native), but it solves memory and performance side, and shared codebase.<p>Just writing native apps because LLMs makes it cheaper is the other option. Shopify did this after years of react native.
      • azuanrb6 hours ago
        &gt; you can now ship cross platform apps quickly, without electron.<p>The opposite is also true. My argument is that you can also ship Electron apps with more features more quickly with LLMs.<p>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.<p>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.
        • scosman5 hours ago
          Why assume finite token budgets? Scaling 2x tokens isn’t a major jump if it brings quality.<p>Also the GPUI approach is still finite tokens, just better stack.
          • azuanrb4 hours ago
            Because any kind of budget, resources are always finite? 2x the tokens roughly translates to 2x the cost. That’s a pretty big ask. Quality alone, unfortunately, isn’t always enough to justify it. There has to be business value too.
  • jrmg7 hours 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.
  • fnord775 minutes ago
    [delayed]
  • ezst3 hours ago
    Is that a whole UI re-write in a native&#x2F;non-web framework? Because in case that&#x27;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&#x27;t gotten yet to adding as much stuff as seen on the regular client.<p>Discord is a server-side protocol (the client isn&#x27;t doing much besides displaying the server-prescribed state), there&#x27;s very little logic&#x2F;computation going on on there that should explain a world of difference.
  • Neywiny8 hours ago
    They keep talking about 2 accounts logged in so that&#x27;s why it&#x27;s still high. But they&#x27;ve done nothing to defend that claim.<p>Also, pro tip, you can still just use it in browser. I hope that doesn&#x27;t go away.
  • cedws52 minutes 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.
    • hyperhello50 minutes 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.
  • gkcnlr6 hours 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 &quot;ship it fast&quot; by providing the fastest iterations and benefiting from already existing cheap pool of web developers, especially via outsourcing&#x2F;offshoring.<p>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.
  • ChrisArchitect2 hours ago
    Related:<p><i>Discord is ditching Electron and its new app uses less RAM</i><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=50378625">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=50378625</a>
  • JustinELRoberts7 hours 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?
    • hxorr15 minutes 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&#x2F;firefox in terms of stability&#x2F;security&#x2F;performance&#x2F;features...
    • the__alchemist7 hours ago
      Tauri&#x27;s value prop over EGUI and GPUI is that its syntax is familiar to web devs.
    • 0gs7 hours 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_slop5 hours ago
      [dead]
  • mococa7 hours ago
    On my mac I’ve banned Electron apps, only native ones - Slack on Safari.
  • kryptonomist8 hours 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_lee8 hours ago
      &gt; C++ with Dear ImGui<p>it would be absolutely awful<p>compared to chromium, it&#x27;s really limited, like it&#x27;s just always a compromise with these<p>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
      • debazel7 hours ago
        The limitations are a large reason for why they&#x27;re so resource efficient in the first place.<p>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.
      • ogoffart6 hours 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.
      • amelius8 hours ago
        QtQuick is quite good.
      • the__alchemist7 hours ago
        Are you a web dev?
        • r_lee7 hours ago
          I use ImGui regularly, if you believe that it is on the same level as what you can do with React&#x2F;HTML&#x2F;CSS&#x2F;etc. then I don&#x27;t know what to tell you
          • the__alchemist6 hours ago
            I have seen this assumption in recent GUI threads here (More so your upper post): Building a PC application is not equivalent to building a web browser. A web browser is a type of PC application built for a specific (But very broad!) use. I didn&#x27;t think I would need to write this statement&#x2F;distinction, but I have here. Web languages, culture, and syntax have not been a value add to PC application development. Electron is the clearest example why. My model is that is the value add of Electron: Appealing to web devs through language and culture.<p>Regarding &quot;not doing what you can do with HTML&#x2F;CSS&#x2F;JS&quot;. Doubt. I varied and complex stuff and have never felt I needed to overload document rendering langs for this.<p>I will go a step further: I don&#x27;t think Electron is a symptom of HTML&#x2F;CSS&#x2F;JS: I suspect it&#x27;s more from the Node + Framework culture.
            • r_lee6 hours ago
              it&#x27;s not just about &quot;appealing to web devs&quot;<p>you simply just would stumble if you tried to do development like you can in React, constant &quot;uhh... can&#x27;t do that.&quot; while it just works in React.<p>I don&#x27;t think anyone likes the look of Qt more than what you can achieve with webapps in terms of UI (style&#x2F;etc. wise)<p>problem is the performance, I don&#x27;t think many would be complaining if the performance was proper and the memory usage wasn&#x27;t as terrible as it is now<p>you&#x27;re talking about web browsers, I don&#x27;t care what it runs on, if we have a way to run this in a lightweight way, would your complaints go away?<p>even Gnome uses JS etc.<p>you can do complex stuff in native UI, of course you can<p>what I&#x27;m talking about is the same kind of DX as with React. I really don&#x27;t have faith in that, e.g. the new thing Discord is about to use, the css it tries to imitate just seems absolutely terrible.<p>the web technologies aren&#x27;t perfect, in fact, far from it. however, when I see React vs whatever C&#x2F;C++ alternative, I&#x27;d always go for React if it&#x27;s about making the UI nice.<p>I&#x27;ve also shat on Electron before, but there&#x27;s a reason as to why it&#x27;s so popular. the tooling&#x2F;UI capabilities are just much more powerful.
              • Telaneo29 minutes ago
                &gt; I don&#x27;t think anyone likes the look of Qt more than what you can achieve with webapps in terms of UI (style&#x2F;etc. wise)<p>I don&#x27;t want web app UIs. They all look different for no good reason. I want native UIs. I like qt. Please just give me a stable UI that I learn and stick with for the next 20 years.
              • bigstrat200346 minutes ago
                &gt; I don&#x27;t think anyone likes the look of Qt more than what you can achieve with webapps in terms of UI<p>You are incorrect. In fact, us users hate that fact that UI designers keep making apps that look nothing like the rest of our system. Give me a nice native-looking app any day of the week.
      • caspper697 hours 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&#x2F;Linux&#x2F;macOS on both x64 and arm64).<p>edit: Avalonia is quite mature, with accessibility to boot.
    • airstrike8 hours ago
      or Rust with things other than GPUI
    • cpursley7 hours ago
      Crux, lets you use native UI but Rust for business layer: <a href="https:&#x2F;&#x2F;github.com&#x2F;redbadger&#x2F;crux" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;redbadger&#x2F;crux</a>
  • giancarlostoro31 minutes 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.<p>At least now Discord will consume your GPU vram while you game.
    • Sean-Der22 minutes ago
      This is so close to being fixed!<p>I am guessing this is just capture&#x2F;playback code issue? You have a portable WebRTC stack in rust <a href="https:&#x2F;&#x2F;github.com&#x2F;webrtc-rs&#x2F;webrtc" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;webrtc-rs&#x2F;webrtc</a><p>I haven&#x27;t used Tauri myself but this sounds like a fun thing to go fix. Silly this is a blocking issue.
  • petterroea8 hours ago
    It&#x27;s hard to say &quot;Discord just showed why&quot; 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&#x27;t really be proven until mass adoption and the software has seen long-term maintenance.
    • flohofwoe7 hours 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&#x27;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).
      • goalieca7 hours 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.<p>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.
  • codedokode33 minutes ago
    For me the ugliest part of Electron is that it uses client-server model <i>inside</i> a program and includes both a browser and Node.JS. This is so stupid. If you love microservices so much why don&#x27;t you put every React component in a separate process?<p>Also, browsers contain too much bloat, why do you need support for elements like &quot;hr&quot; or attributes like &quot;cellpadding&quot; in a modern app? Throw away all legacy garbage.<p>Also, immediate mode UIs (like Rust&#x27;s egui) are even worse garbage than a browser. &quot;Immediate mode&quot; 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.
  • ryandrake5 hours ago
    If LLMs are truly driving the cost of &quot;writing code&quot; down to zero, then we shouldn&#x27;t need Electron anymore. The whining from developers about how it&#x27;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 &quot;build&quot; all your actual production releases from that.
  • bl4kers1 hour ago
    Just use the website. It&#x27;s going to be a better experience than the vibecoded Rust approximation for the foreseeable future
  • zerr50 minutes ago
    So, it has always been a skill issue.
  • opengrass8 hours ago
    Signal is still dragging Electron, can&#x27;t have a working FreeBSD port due to dependency hell. Also VSCode.
    • fg1377 hours ago
      Meanwhile Zed isn&#x27;t really usable on machines without a GPU e.g. VDIs<p><a href="https:&#x2F;&#x2F;github.com&#x2F;zed-industries&#x2F;zed&#x2F;discussions&#x2F;17212" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zed-industries&#x2F;zed&#x2F;discussions&#x2F;17212</a><p>I don&#x27;t know if we have a winner here.
  • revolvingthrow1 hour ago
    Hot take, but: love electron. Write once, runs anywhere. The majority of bugs aren&#x27;t platform specific. Easy to get nice visuals that stay consistent across different OS. Yes, it&#x27;s not native. I don&#x27;t care. It&#x27;s not a painting to be admired. The focus on looks and visuals versus usability and ux is a plague.<p>Yeah, it takes some extra ram. Fork my stuff and rewrite it in rust if you care. I don&#x27;t. The few hot spots can be fixed by using a lower level language. Is vs code not zippy enough? I certainly haven&#x27;t noticed the slowness. People keep complaining about unnecessary load as if hardware hasn&#x27;t progressed since 2004. It&#x27;s hugely important for things like your OS. A few apps you run twice a month? Who cares.<p>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&#x27;s not needed. The average computer isn&#x27;t pi zero.
    • bigstrat200344 minutes ago
      &gt; Yeah, it takes some extra ram. Fork my stuff and rewrite it in rust if you care. I don&#x27;t.<p>And that, right there, is why people hate apps which use Electron. You are spending <i>my</i> system resources so that <i>you</i> can be lazy and not have to program as much. That&#x27;s not really acceptable development practice.
  • cykros6 hours ago
    I literally just run another browser Window with discord on the web rather than the native app.<p>Discord is probably my least favorite thing to happen to chatting online, but for some reason it&#x27;s what everyone wants to fucking use.
    • Aozora76 hours 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&#x27;t just discord but worse.
    • abhinavk6 hours ago
      Discord tab also uses 500-600MB of RAM. This is private resident bytes of the tab excluding browser and its helper processes.
  • samiv6 hours ago
    Don&#x27;t worry I&#x27;m sure they&#x27;ll find a way to make the rust based client crawl too soon enough.<p>Slapping a few million lines of AI generated slop code ought to do it for instance.
  • itopaloglu838 hours 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.
    • goda908 hours ago
      WebView2. Other applications can also use it but it seems like there&#x27;s less out-of-the-box functionality than Electron
    • senorrib8 hours ago
      That’s also how Tauri claims to use so little ram.
    • jasonvorhe8 hours ago
      By being dishonest and misleading?
      • snarfy6 hours ago
        When they can all share the same Electron implementation instead of individual copies it reduces memory quite a bit. I&#x27;m not trying to defend Electron way of development but I can see why they pushed WebView2.
      • lunar_rover7 hours ago
        By reusing the system webview? It&#x27;s what web frameworks should&#x27;ve done.
      • pwg7 hours ago
        When has Microsoft not been dishonest and misleading? Being dishonest and misleading has been Microsoft&#x27;s entire game plan since all the way back into the Bill Gates era.
  • Surac6 hours ago
    Rust to death i told them
  • LoganDark8 hours ago
    I would not add alternative accounts to the account switcher, they&#x27;ve used these to coordinate bans ever since the account switcher&#x27;s inception.
  • mpalmer6 hours ago
    <p><pre><code> 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. </code></pre> Crazy what passes for journalism these days.
  • tapper7 hours ago
    Could they of used servo?
  • tapper7 hours ago
    I hope they can do some work on a11y because it&#x27;s bed. Not as bad as it was but still slow and clunky to use with a screen reader.
  • cpursley7 hours ago
    Great option for this that lets you use Rust along with real native UI for cross platform: <a href="https:&#x2F;&#x2F;github.com&#x2F;redbadger&#x2F;crux" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;redbadger&#x2F;crux</a>
    • bscphil7 hours ago
      &quot;cross platform&quot; I just spent 10 minutes trying to figure out what it uses for native on Linux, and whether it supports <i>both</i> Qt and GTK. Turns out the docs don&#x27;t even mention Windows? &quot;Cross platform&quot; 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.
  • VCFundedGenYer6 hours ago
    I&#x27;ve not seen the performance deficits demonstrated in this article. The article also does not discuss the specs.<p>Not to mention Windows is a very heavy slow inefficient and poorly made OS.<p>You don&#x27;t see these issues generally on Linux or macOS.
  • lukaslabs_dev8 hours ago
    [flagged]
  • bdhcuidbebe8 hours ago
    [dead]