agent-research

Cross-Platform Desktop Framework Analysis (2026)

[!NOTE] This is an AI-generated research report. All text and code in this report was created by an LLM (Large Language Model). For more information on how these reports are created, see the main research repository.

Date: 2026-02-27 Task: Evaluate options for building cross-platform desktop applications targeting macOS and Windows


Summary

This report analyzes the major cross-platform desktop frameworks available in early 2026, with a focus on bundle size, performance, native look & feel, language requirements, licensing, and ecosystem maturity.


Frameworks Evaluated

Framework Language Bundle Size Native UI Performance License
Electron JS/TS 100–200 MB+ No (Chromium) Poor MIT
Tauri v2 Rust + Web 1–10 MB No (WebView) Good MIT / Apache-2.0
Flutter Dart 10–30 MB No (Custom) Good BSD-3
Qt 6 C++ / Python Varies Yes Excellent LGPL / Commercial
.NET MAUI C# 30–80 MB Yes (partial) Good MIT
Avalonia UI C# 15–40 MB No (Custom/Skia) Very Good MIT
wxWidgets C++ / Python 5–20 MB Yes (truly) Excellent wxWindows (LGPL-like)
JavaFX Java 40–80 MB No (Custom) Moderate GPL / Commercial
Wails Go + Web 5–15 MB No (WebView) Good MIT
Neutralinojs JS/TS 1–5 MB No (WebView) Good MIT

Framework Deep-Dives

Electron

Tauri v2 (Released October 2, 2024)

Flutter Desktop

Qt 6

.NET MAUI vs Avalonia UI

MAUI

Avalonia UI

wxWidgets / wxPython

JavaFX / OpenJFX

Wails (Go + WebView)

Neutralinojs


Key Decision Factors

Criteria Best Options
Smallest bundle Neutralinojs, Tauri
Best performance / memory Qt, wxWidgets
Truly native look & feel Qt Widgets, wxWidgets, .NET MAUI (Windows)
Web dev background Tauri (modern), Electron (mature)
C# / .NET background Avalonia UI, .NET MAUI
Go background Wails
Python background PySide6 (Qt), wxPython
Mobile + Desktop from one codebase Tauri v2, Flutter
Linux + macOS + Windows Avalonia, Qt, Tauri, Flutter
Open source, no licensing complexity Tauri, Flutter, Avalonia, Wails

Recommendations

“I’m a web developer — what should I use?”

Tauri v2 is the modern answer. It combines web frontend tech (React/Vue/Svelte) with a lean Rust backend, provides tiny binaries and fast startup, and now supports mobile too. Electron remains valid if you need maximum ecosystem maturity and don’t mind the size/memory costs.

“I need the most native-looking app”

Qt (with Qt Widgets, PySide6 for Python or C++ directly) or wxWidgets. These use actual OS controls, not simulated widgets.

“I’m building with C# / .NET”

Avalonia UI for consistency across platforms (including Linux), performance, and a WPF-like experience. MAUI if iOS/Android mobile is also a target and macOS Mac Catalyst limitations are acceptable.

“I’m a Go developer”

Wails — it was built for this use case.

“I need mobile + desktop from one codebase”

Tauri v2 (web + Rust) or Flutter (Dart). Both are viable; Flutter has more mature mobile patterns while Tauri has better desktop performance.

“I need the absolute smallest binary”

Neutralinojs (1–5 MB) or Tauri (1–10 MB).


Bottom Line


References

Research conducted via web searches on 2026-02-27. Key sources: