Creuto is now an OpenAI Select Partner Read More

Custom Software Development

Electron vs Tauri: Discord picked neither. Here's why

Electron vs Tauri, after Discord chose GPUI instead: Electron's 8-week upgrade cycle against Tauri's per-OS web views, and when to stay put.

Electron vs Tauri: Discord picked neither. Here's why

Discord is leaving Electron, and the replacement is not Tauri. On 4 November 2026 Discord's CTO Stanislav Vishnevskiy posted that Electron and React Native are going away, adding: "it's not Tauri, it's GPUI." If you are weighing electron vs tauri for your own desktop app, that is the useful part. The company with the most public Electron memory complaints looked past the obvious alternative. By the end of this post you will know what each path costs in upgrades, rendering risk and rewrite effort, and when staying put is the right call.

Discord is not moving to Tauri. It is moving to GPUI

Early coverage framed the news as a Tauri switch, and Vishnevskiy corrected it in the same post: the new client is Rust on GPUI. GPUI describes itself as a hybrid immediate and retained mode, GPU-accelerated UI framework for Rust, built by the team behind the Zed editor. It does not render through a web view at all, which is the whole point of Tauri.

Here is what was actually announced, as of 6 November 2026:

ItemWhat Discord said
DesktopElectron replaced by a Rust client on GPUI (CTO post)
MobileReact Native goes; "mobile keeps native UI but shares app code with desktop via Rust" (CTO post)
WebAn HTML renderer with application logic in Wasm instead of JavaScript (Roboin)
Rust historyUsed at Discord since 2018, in infrastructure, voice and parts of the current client (CTO post)
Release dateNone. Discord hopes "to get it into testing with users soon" (CTO post)

Discord also maintains its own GPUI patches and has said it is interested in sending them upstream, according to Roboin. That detail matters later: GPUI's own site says that for the near future, GPUI is tied to Zed, so contributions go through the Zed repository. Discord is adopting a framework whose roadmap belongs to another product.

The 14x memory headline compares two different things

The number travelling with this story is "up to 14 times lower memory usage", from eTeknix. It sets a screenshot Vishnevskiy shared, showing roughly 290 MB for the rebuilt client, against reports that the current client has used more than 4 GB "in certain situations". eTeknix itself says it is unclear whether the two were measured under the same conditions.

They almost certainly were not. 4 GB is the threshold of a Discord experiment that restarts the Windows app when RAM use exceeds 4GB, and only after the app has run for an hour, the user has been inactive for 30 minutes and no call is active. The same PCWorld report puts typical usage at around 1 GB. So the honest comparison is an early, unreleased build against a leak ceiling, not against a normal session. Treat Discord's move as an announcement, not a result.

The underlying cost is real, though. Electron inherits Chromium's multi-process design: one main process running in a Node.js environment, plus a separate renderer process for each open window. Every Electron app ships and runs its own browser. That is the memory and download-size complaint your users are making, and it is the thing Tauri was built to remove.

Electron vs Tauri: the trade is upgrades against rendering

Strip away the benchmarks and the electron vs tauri decision comes down to who owns the rendering engine. Electron bundles Chromium, so you own it, you test against one engine, and you must keep upgrading it. Tauri borrows the engine the operating system already has, so it is small, but you test against several engines you do not control.

AxisElectronTauri 2Native Rust (GPUI, Discord's path)
Rendering engineBundled ChromiumSystem web view per OSGPU-rendered, no web view
Back-end languageNode.js main processRust, with Swift and Kotlin for pluginsRust
Who updates the engineYou, every major releaseThe OS vendor or Linux distroYou and the framework's owner
Front-end code reuseAny web frameworkAny web frameworkUI rewritten
Size floorShips a browser"Less than 600KB" for a minimal appNot published

The Tauri figures come from its own documentation: a minimal Tauri app can be less than 600KB, and it uses "languages such as Rust, Swift, and Kotlin for backend logic". Neither Electron nor Tauri publishes first-party memory figures, so any RAM comparison you read is a third-party benchmark of a specific app. Build a spike of your own heaviest screen before you trust one.

How often must Electron apps upgrade?

Electron's cadence between major versions is 8 weeks, and the Electron team supports only "the latest three stable major versions". A major bump means a Chromium upgrade, a Node.js major or a breaking API change, and the versioning policy notes that "most Chromium updates will be considered breaking".

On the release schedule as of today, Electron 45 went stable on 20 October 2026 with Chromium M156, and 44 and 43 are the other supported lines. Electron 42 reached end of life on 20 October. Electron 46 is tentatively due on 5 January 2027, which is also the tentative end-of-life date for 43. A team that shipped on 43 when it went stable on 29 June 2026 gets about six months before it is unsupported.

Each of those upgrades is a new signed build through your release pipeline, with its own regression pass. Signing has its own deadlines too; our note on Developer ID certificate expiration covers the macOS side. Budget the treadmill as recurring engineering time, not as a one-off.

Does Tauri render the same on every OS? No, and that is the cost

Tauri renders through a different web view on each platform, and its web view versions page is candid about what that means:

  • Windows: WebView2, based on Microsoft Edge and Chromium. It updates itself, so Windows users get a recent engine.
  • macOS and iOS: WKWebView, updated with the operating system. Unsupported macOS versions do not receive WebKit updates.
  • Linux: WebKitGTK, updated through the distribution. The page's sample table runs from version 2.20 to 2.36 across distros.
  • Android: the system WebView, whose version depends on the device's selected WebView provider.

In practice your Windows users run Chromium, your Mac users run Safari's engine at whatever version their OS shipped, and your Linux users run whatever their distro packaged. The Tauri docs point you to caniuse.com to check feature support per engine. A CSS feature or web API that works in your Chromium-based dev build can fail on an older Mac, and you find out from a support ticket. If you go this way, cross-engine visual and end-to-end tests become part of every release; that is work our QA and automation team sets up before a migration, not after.

The strongest case for Tauri is still a good one. Tauri 2.0 went stable on 2 October 2024 with iOS and Android support, and it replaced the old allowlist with permissions and capabilities that attach to specific windows and web views. Because it uses web technologies, virtually any frontend framework is compatible, so a React UI can usually move across. What does not move is your Electron main process: Node.js code that talks to the file system, tray, auto-update and native modules has to be rewritten in Rust or replaced with plugins. That rewrite is where the cost of migrating from Electron to Tauri actually sits.

Why a native rewrite only makes sense at Discord's scale

Discord can take the GPUI route because it already had the pieces. It has run Rust in production since 2018, including in parts of its current client, and the rewrite retires two frameworks at once: Electron on desktop and React Native on mobile, with shared Rust app code underneath (CTO post). One codebase replacing two is a payoff very few 50-300 person companies can claim.

It also carries risks a smaller team cannot absorb. GPUI's roadmap is tied to Zed, Discord is carrying its own patches, and Roboin notes that GPUI did not support CPU-based rendering at the time of writing. There is no release date. Full rebuilds are slow and expensive even when the motive is clear, as Swiggy's hybrid to native app migration showed on mobile.

The fair counter-argument is that native is where the memory and responsiveness ceiling is highest, and if your desktop app is the product, that ceiling is worth paying for. That holds when you have Rust engineers already, a UI you were going to redesign anyway, and the budget to run old and new clients in parallel. Without all three, a native rewrite trades a memory complaint for a multi-year delivery risk.

When should a product team stay on Electron?

Staying on Electron is the right call more often than the headlines suggest. It fits when:

  • Your main process carries real Node.js logic, such as local sync, file handling or native modules, that would need a Rust rewrite to leave.
  • Pixel-identical rendering across Windows, macOS and Linux matters more than download size, because only a bundled engine guarantees it.
  • Memory complaints trace back to your own code, leaks or too many windows, which a framework switch would carry along with it.

Move to Tauri when size and idle memory are the dominant complaint, the UI is standard web, the main process is thin, and you can afford to test on WebKit as well as Chromium. Its mobile targets are a bonus if you also want phone apps, though a dedicated mobile stack is often the better fit; our React Native vs Flutter verdict covers that choice. Go native only on the Discord conditions above.

Scoping the desktop decision before you rewrite

The cheapest step is a two-part spike: profile where your Electron app's memory actually goes, and port one heavy screen to Tauri and run it on WebView2, WKWebView and WebKitGTK. That tells you whether the problem is the framework or the code, and what the Tauri rendering gap looks like on your own UI. Our web app development team works in React, TypeScript and Node.js, the layers an Electron or Tauri client is built from, and can scope that spike against your codebase so the stay, move or rebuild decision rests on your numbers rather than Discord's screenshot.

Frequently asked questions

Discord is not moving to Tauri. CTO Stanislav Vishnevskiy said on 4 November 2026 that the new client is written in Rust on GPUI, the GPU-accelerated UI framework from the Zed team. Electron and React Native are both being retired, and no release date has been announced.

Tauri does not render identically everywhere because it uses each platform's own web view: WebView2 on Windows, WKWebView on macOS and iOS, WebKitGTK on Linux and the system WebView on Android. Feature support depends on each engine's version, so teams need to test on every target.

Electron ships a new major version every eight weeks and supports only the latest three stable majors. A version therefore stays supported for roughly six months after its stable release, and most major upgrades include a Chromium update that Electron treats as a breaking change.

A product team should usually stay on Electron when its main process holds substantial Node.js logic, when identical rendering across Windows, macOS and Linux matters, or when memory problems come from its own code rather than the framework. In those cases a migration adds cost without fixing the complaint.

Tauri 2.0 has been stable since 2 October 2024, with iOS and Android support and a permissions and capabilities security model. Whether it suits a given product depends mostly on how much Node.js main-process code must be rewritten in Rust and how much cross-engine testing the team can sustain.

Written by

Akash Mohapatra

Akash Mohapatra

Co Founder & Director

5 Nov 2026

·

9 min read

Share

LET'S CONNECT

Connect with Creuto!

Ready to take the first step towards unlocking opportunities, realizing goals, and embracing innovation? We're here and eager to connect.