LabHub

Blog

Desktop App Frameworks 2026 — Tauri, Electron, Wails, Compose, MAUI, Flutter, Qt, Slint: A Category-Wide Comparison

한국어English日本語

Prologue — "Desktop Is Dead" Was Wrong

In the mid-2010s it looked like mobile apps would swallow every screen. The 2026 reality is different. Developer tools (VS Code, Cursor, JetBrains), design tools (Figma desktop, Affinity), collaboration tools (Slack, Discord, Notion, Linear), security tools (1Password, Bitwarden), media tools (OBS, Reaper, DaVinci Resolve) — the desktop is the primary surface for all of them. Web apps are supporting cast, mobile is a notification channel, and real work happens on the desktop.

So "how should we build a desktop app" is a hot question again. Hotter because the options have multiplied. Electron, Tauri, Wails, Neutralino, Compose Multiplatform, .NET MAUI, Flutter desktop, Qt/PySide, Slint, Lazarus, GTK with various bindings — eleven serious candidates in one category, each insisting on a different trade-off.

This post puts the whole category on one screen. There's an earlier post comparing Tauri 2 vs Electron one-on-one — that was a duel. This is the wider map: the web-tech camp vs the native-tech camp, single-OS vs multi-OS ambitions, the natural selection that team language imposes, and the answer to "why did Linear, Cursor, Bitwarden, and Affinity all pick different tools?"

The one-liner: there is no "best desktop framework." Your team's language, your target OS, your performance needs, and your bundle budget cross at exactly one point, and that's where the right tool lives. The goal here is to help you find that intersection fast.


1. The Real Selection Axes

Framework comparisons often fail because they fight a 1-D battle of "which is better." Real desktop framework selection is at least 4-D.

1.1 Native vs Webview Rendering

How you draw the UI is the first fork.

Webview gives you the giant web-developer talent pool and fast UI iteration. Native wins on startup time, memory, keyboard shortcuts, accessibility, and tray integration. Nothing does both — you have to choose.

1.2 Team Language Is the Strongest Force

Long-term, the strongest force is the language the team already speaks.

Change the language and you change hiring, tooling, build pipelines, everything. So "can the existing team get a build green in a week" is in practice the strongest filter.

1.3 Target Platform Scope

If "ship desktop and mobile at the same time" is the requirement, the candidate list narrows fast. Roughly Tauri 2, Flutter, Compose Multiplatform, MAUI.

1.4 Bundle Size vs Performance Ceiling vs Consistency

Three things trade against each other. No tool satisfies all three.

PriorityBest tools
Minimum bundle sizeTauri, Wails, Slint, Lazarus
Maximum performance ceilingQt, Slint, native (SwiftUI/WinUI)
Pixel-perfect consistency across all OSesFlutter, Compose (own renderer)
Natural system look and feelTauri (system WebView), Qt, Compose (desktop themes)
Development speed (UI changes are fast)Electron, Tauri, Flutter

This matrix is the first arrow. "What do we care about most?" — that single question shrinks the candidate set to three or fewer.


2. The Web-Tech Camp — Carrying Chromium's Weight

Four contenders that use a webview. We put them side by side.

2.1 Electron — Still the Elephant

Electron started in 2013 with GitHub's Atom editor. Thirteen years later in 2026 it's still the most-used desktop app framework on the market. VS Code, Discord, Slack, Notion, Postman, 1Password, Obsidian, Linear, Figma desktop — eight of those nine are Electron (Linear is reportedly evaluating Tauri).

Strengths:

Weaknesses:

In 2026 Electron is around v33/34, tracking Chromium 130-something. Stable branch releases, ASAR packaging, and improved macOS code-signing integration are the recent themes.

2.2 Tauri 2 — Top of the System-Webview Camp

A year and a half after Tauri 2.0 GA in October 2024. As of 2026, Tauri holds the largest share inside the system-webview camp. Big-tech apps haven't migrated, but incomplete surveys put thirty to forty percent of new projects on Tauri.

Distinctive features:

Real shadows:

Full deep-dive in the earlier Tauri 2 vs Electron post. Here Tauri is one player in the bigger lineup.

2.3 Wails — Go's Answer

Wails lets you write the backend in Go with a web-tech frontend. People call it "Tauri for Go" but the differences matter.

Natural pick for a Go team. If your backend infrastructure is in Go and you want the desktop client in the same language, Wails is the path.

2.4 Neutralino — The Lightest Option

Neutralino doesn't even bundle Node.js. A small C++ runtime hosts the app and the webview executes the JS directly.

Genuinely light, but awkward when you need real backend weight (file indexing, encryption, local DB). Best for small tools and tray utilities.

2.5 The Web Camp at a Glance

ItemElectronTauri 2WailsNeutralino
Backend languageNode.jsRustGoNone (JS only)
WebviewBundled ChromiumSystem webviewSystem webviewSystem webview
Bundle size150~300MB10~40MB10~30MB2~5MB
Empty-app memory100~150MB30~60MB30~60MB10~30MB
MobileNoiOS/Android (2.0+)ExperimentalNo
Ecosystem maturityfive starsfour starsthree starstwo stars
Learning curveLowMedium (Rust)Medium (Go)Low

3. The Native-Tech Camp — Drawing Pixels Directly

No webview. Either a custom renderer or OS-native widgets put pixels on the screen. Higher performance ceiling, faster startup — but a steeper learning curve.

3.1 Qt / PySide — The 35-Year Giant

Qt started in 1991. Thirty-five years old. Written in C++, with Python bindings (PySide6, PyQt6). The de facto number one of the desktop-native camp.

Real users: Affinity Photo/Designer/Publisher (all Qt), VirtualBox, the entire KDE desktop environment, Tesla's vehicle cluster UI, parts of Adobe Substance Painter, Maya's interface, OBS Studio.

Strengths:

Weaknesses:

In 2026 we're at Qt 6.8 LTS. QML is increasingly the default, and Qt for Python (PySide6) is stable.

3.2 Compose Multiplatform — JetBrains's Bet

JetBrains's UI framework built on Kotlin Multiplatform. It extends Android's Jetpack Compose to desktop and iOS. Desktop reached stable GA in 2024/2025; iOS is transitioning from beta to stable.

Strengths:

Weaknesses:

Unambiguous pick for a Kotlin team. For other teams, hiring is the variable.

3.3 .NET MAUI — Xamarin's Heir

Microsoft's successor to Xamarin.Forms — a cross-platform UI framework. GA'd in 2022, stabilized through 2023 and 2024, real adoption since 2025.

Strengths:

Weaknesses:

Reasonable when Windows is the focus and mobile ships alongside. Disqualified if Linux desktop users matter.

3.4 Flutter Desktop — Google's Ambition

Flutter started on mobile and grew to desktop. Stable desktop in 2022, taken seriously from 2023 onward.

Strengths:

Weaknesses:

Real users: BMW's in-car infotainment, various internal tools. Serious consumer desktop apps are still rare.

3.5 Slint — Rust-Native UI

Slint (formerly SixtyFPS) is a Rust-written native UI framework. 1.0 in 2024, 1.x stabilizing through 2025 and 2026. Targets embedded and desktop both.

Strengths:

Weaknesses:

Best for small desktop tools, embedded UIs, or teams that want consistent Rust across the stack.

3.6 Lazarus / Free Pascal — The Survivor

The open-source heir of Delphi, in Pascal. Started in 1999. Still actively developed in 2026.

Strengths:

Weaknesses:

Reasonable for porting legacy Delphi code, for small desktop tools, or when you already have a Pascal team.

3.7 GTK plus bindings (gtk-rs, Vala, PyGObject)

GTK is GNOME's widget library, born inside GIMP. Thirty years old. Usable from many languages — Rust (gtk-rs), Vala, Python (PyGObject), C.

Strengths:

Weaknesses:

Natural pick for Linux-first tools. Cross-platform is awkward.

3.8 The rest of the category

There are too many to cover all of them. The twelve above are the ones worth seriously evaluating in 2026.


4. The Decision Matrix — Who Fits Where

Eleven candidates plotted on four axes.

ToolLanguageRenderingBundleDesktop OSMobileBest scenario
ElectronTS/JSBundled Chromium150~300MBWin/macOS/LinuxNoBig team, fast UI iteration, compatibility required
Tauri 2Rust + webSystem webview10~40MBWin/macOS/LinuxiOS/AndroidGreenfield project, small bundle, Rust-capable team
WailsGo + webSystem webview10~30MBWin/macOS/LinuxExperimentalGo-backed team, single language
NeutralinoJSSystem webview2~5MBWin/macOS/LinuxNoTray utility, small tool
Qt / PySideC++/PythonOwn renderer30~80MBAll OSes plus mobileiOS/AndroidGraphics/CAD, embedded, performance ceiling
Compose MPKotlinSkia50~150MBWin/macOS/LinuxiOS/AndroidKotlin/Android team extending to desktop
.NET MAUIC#Native50~120MBWin/macOSiOS/AndroidWindows-first plus mobile
FlutterDartSkia30~80MBWin/macOS/LinuxiOS/AndroidTruly single codebase
SlintRust/DSLOwn renderer1~5MBWin/macOS/LinuxEmbeddedMicro tools, embedded UIs
LazarusPascalNative5~15MBAll OSesNoDelphi code port, small tools
GTK + RustRustGTK5~20MBLinux-firstNoGNOME integration, Linux-first

How to read: pick a "language we can ship in" column and a "target OS" column. Rows where the intersection isn't empty are your shortlist. It usually narrows to two or three.


5. Real Examples — What the Big Apps Picked

5.1 VS Code, Cursor, Windsurf, Zed

Lesson: reusing the VS Code codebase means Electron. Starting from scratch means freedom.

5.2 Discord, Slack, Teams

Lesson: for big-company big apps the migration cost is too high. Once Electron, still Electron.

5.3 1Password, Bitwarden

Lesson: even security apps picked Electron. Compatibility and dev velocity outweighed the "Electron is scary for security" reaction.

5.4 Linear, Figma, Notion

Lesson: web-first companies land on Electron naturally. The same code shipped as desktop.

5.5 Affinity, Adobe, DaVinci

Lesson: graphics tools where pixel performance matters stick to Qt or proprietary native.

5.6 OBS, Reaper, Audacity

Lesson: media tools pick native because of performance and latency.

5.7 Picks from new apps

Lesson: post-2024 greenfield projects evaluate Tauri seriously. Big-company big apps don't move.


6. Per-Platform Considerations

6.1 Windows-only target

For Windows-only, Electron and Tauri are overkill.

6.2 macOS-only target

For serious Mac App Store presence, code signing, and notarization, native is easier.

6.3 Linux-only target

Linux packaging (deb, rpm, flatpak, snap, AppImage) is its own job.

6.4 Three desktops plus mobile

If "ship desktop and mobile at the same time" is real, the candidate list is short.

None is perfect. Answer honestly "where does desktop matter more, where does mobile matter more?" and the choice narrows.


7. Bets for the Future — Beyond 2026

7.1 System webviews getting more consistent

WebView2 (Windows) and WKWebView (macOS) are stabilizing. The problem child is WebKitGTK on Linux. Until Linux's system webview catches up to Chromium, Tauri and Wails carry a permanent Linux weakness.

Workaround attempt: an RFC in 2025 proposed embedding Servo (the Rust browser engine) into Tauri. Progress is slow.

7.2 Compose Multiplatform iOS stabilizing

Stable GA expected in the second half of 2026. Once stable, you can target desktop plus mobile from one Kotlin codebase — strong Flutter competition.

7.3 Flutter's desktop UX filling in

Desktop shortcuts, menu APIs, multi-window APIs are filling in quickly through 2025 and 2026. The chance of serious desktop apps adopting Flutter is rising.

7.4 Growth of the Rust-native UI camp

Slint, egui, Iced, GPUI (Zed's framework) — Rust-native UI frameworks are multiplying. Expect share gains in small tools and performance-first apps.

7.5 AI integration is fueling a desktop renaissance

Coding agents, voice assistants, local LLM tools — they all work best on the desktop. The desktop framework category will get more active for the next five years.


Epilogue — Checklist and Anti-Patterns

Pre-decision checklist

Common anti-patterns

Four questions to answer in a week

  1. Who builds it? — team language.
  2. Who uses it? — target OS and user environment.
  3. What does it do? — UI change frequency and performance needs.
  4. How long does it live? — five-year hiring and maintenance scenario.

Answer those honestly and the candidate set usually shrinks to two or three. From there: one-week PoC, one-week decision, then real development.

Next-post preview

Desktop isn't dead. It's more alive than ever. Eleven tools, no single right answer. Slice on four axes, narrow to two or three, decide in a one-week PoC.


References

Comments

No comments yet.

Sign in to leave a comment