필사 모드: Cross-Platform Desktop Apps 2026 Deep Dive - Tauri 2, Electron 34, Wails 3, NeutralinoJS, Flutter Desktop, Sciter, Slint, Iced
EnglishPrologue - Desktop Is Once Again the Primary Surface
In the mid 2010s, mobile apps seemed to be on track to swallow every screen. The reality of 2026 ran the opposite way. Developer tools (VS Code, Cursor, JetBrains), design tools (Figma Desktop, Affinity), collaboration tools (Slack, Discord, Notion, Linear, KakaoTalk Desktop), security tools (1Password, Bitwarden), and media tools (OBS, Reaper, DaVinci Resolve, Cap) - all of them treat desktop as the primary surface. The web app is a fallback, the mobile app is the notification channel, the real work happens on the desktop.
So the question "with what should we build a cross-platform desktop app" is once again the hottest one. A month ago I wrote a category map of desktop frameworks. This piece walks the map. It installs the candidates, builds their bundles, measures memory, tries packaging and code signing, and from those results concludes what you should pick.
> One-line core: in 2026 the choice is no longer "Electron or Tauri". Wails 3, Flutter Desktop, Slint, Iced, Lynx, Avalonia, MAUI - the camps multiplied, each with its own strength. The goal here is to organise those camps in thirty minutes and let you pick "your team's tool" by five criteria.
1. Four Trends Shaping the 2026 Desktop Market
1.1 From Bundled Chromium to System WebView
The decade where every app shipped its own Chromium is ending. WebView2 on Windows, WKWebView on macOS, WebKitGTK on Linux are mature enough now, and using them shrinks the bundle to roughly one tenth. Tauri 2, Wails 3, and NeutralinoJS all belong to the system-webview camp.
1.2 Desktop Frameworks Extending into Mobile
Tauri 2 added iOS and Android in 2024, bringing "desktop plus mobile from one codebase" back to the table. Flutter is a mobile framework that grew up onto the desktop, and Compose Multiplatform and MAUI carry the same ambition.
1.3 The Rust Camp Goes Mainstream
Tauri, Slint, Iced, Xilem, egui, gtk-rs - there are now more than six Rust tools for desktop UI. By 2026 starting a new project in Rust is no longer a risk play, it is a defensible choice.
1.4 Standardised Packaging and Code Signing
macOS Developer ID with notarization, Windows Authenticode with EV certificates, Linux Flatpak and Snap - five years ago every platform demanded its own ritual, but by 2026 electron-builder, Tauri Action, and GitHub Actions workflows have hardened into near-standard templates.
2. Electron 34 - Still the Elephant, but the Road Is Narrowing
2.1 Origins and Today
Electron was originally Atom Shell. GitHub started it in 2013 to build the Atom editor, and after the project moved to the OpenJS Foundation it has shipped on a steady cadence. As of May 2026 Electron 34 is the stable line, tracking Chromium 130-something. From v34 onwards ASAR Integrity is enforced on macOS and Windows, the new utility process API is in, and native glass effects are supported.
2.2 Who Uses It
- VS Code, Cursor, Trae
- Slack, Discord, Notion, Linear
- 1Password 8, Bitwarden
- Figma Desktop, GitHub Desktop, Postman
- Spotify (for a long time)
- KakaoTalk Desktop
2.3 Bundle Size and Memory
An empty Hello World app takes about 150 MB on disk. The compressed download is roughly 80 MB. The empty app uses about 100 to 200 MB of memory, real apps generally land in the 200 to 500 MB range, and Discord or Slack can pass 1 GB.
2.4 Strengths
- Thirteen years of maturity. Every edge case has already been solved.
- Chromium compatibility - WebGL, WebRTC, Service Workers, codecs all behave the same.
- electron-builder, electron-forge, Spectron, electron-updater and other enterprise-grade tools are abundant.
2.5 Weaknesses
- Bundle size of 150 to 300 MB.
- Memory starts at 100 MB even for an empty app.
- Startup time of one to three seconds, the cost of booting Chromium plus V8.
- Security - misused node integration plus remote modules can lead to RCE.
3. Tauri 2 - Leader of the System-WebView Camp
3.1 Origins and Today
Tauri started in 2019 led by Daniel Thompson-Yvetot. It is an MIT-licensed Rust-based desktop framework. v2 shipped officially in 2024 with iOS and Android support, and as of May 2026 it has become the standard answer for the camp that wants desktop and mobile from one codebase.
3.2 Who Uses It
- Spacedrive (cross-platform file explorer)
- Mockoon (API mock server)
- Pot translator
- Cap (open-source screen recorder)
- Lens (Kubernetes IDE, parts of it)
3.3 Bundle Size and Memory
An empty Hello World app weighs around 10 MB. Because it uses the system webview, it does not ship its own Chromium. Memory sits at 50 to 100 MB, about one third of Electron.
3.4 Strengths
- Bundle size around one fifteenth of Electron. Faster downloads and lighter on disk.
- Less than half the memory.
- Rust backend safety and speed.
- v2 brings iOS and Android - one codebase for five platforms.
3.5 Weaknesses
- Differences between system webviews. macOS WKWebView and Windows WebView2 behave subtly differently.
- WebGL and codec compatibility is less uniform than Chromium.
- Rust learning curve. To write the backend you have to know Rust.
- After seven years the ecosystem is still less deep than Electron.
4. Wails 3 - The Go Camp's Desktop Answer
4.1 Origins and Today
Wails has been built since 2019 by Lea Anthony in Go. MIT licensed. The v3 alpha has been public since 2024 and as of 2026 it is on the edge of an official release. The concept is nearly identical to Tauri - system webview plus compiled backend - but the backend language is Go.
4.2 Bundle Size and Memory
Empty app around 15 MB. Memory 60 to 120 MB. Roughly the same neighbourhood as Tauri.
4.3 Strengths
- Natural pick for teams already on Go. Companies whose backend infrastructure is in Go can build their desktop tools in the same language.
- Single-binary build simplicity.
- Faster build than Tauri, because Go compiles faster than Rust.
4.4 Weaknesses
- Smaller user base than Tauri. Thinner ecosystem.
- No mobile support.
- v3 still in alpha.
5. NeutralinoJS - The Ultralight Camp
5.1 Origins and Today
NeutralinoJS was started in 2020 by Shalitha Suranga as a TypeScript-based desktop framework. MIT licensed. The idea goes further than Tauri or Wails - it argues "you do not even need Rust or Go, just rely on the system webview". There is no compilation step for the backend.
5.2 Bundle Size and Memory
Empty app around 2 to 5 MB - the smallest of the field. Memory 40 to 80 MB.
5.3 Strengths
- Smallest bundle. Downloads in a second.
- Builds almost instantly.
- Whole product in one language, TypeScript.
5.4 Weaknesses
- Limited backend capability. CPU-heavy work needs a native extension.
- Less documentation and fewer tools.
- Security model is not as polished as Tauri's.
6. Flutter Desktop - The Own-Rendering Camp
6.1 Origins and Today
Flutter was started by Google in 2017 as a mobile framework. It uses the Dart language and the Skia rendering engine. Desktop went stable in 2022, and by 2026 Windows, macOS, and Linux are all production-ready.
6.2 Who Uses It
- Rive (animation tool)
- Reflectly (journalling app)
- Wonderous (Wonder of the World guide)
- Superlist (todo app)
- Parts of Japan's SmartHR desktop modules
6.3 Bundle Size and Memory
Empty app 30 to 50 MB. It does not bundle a webview but it does ship the Skia engine. Memory 100 to 150 MB.
6.4 Strengths
- Pixel-perfect consistency across every OS. What the designer signed off ships exactly.
- Same codebase as mobile - desktop is the same UI code extended.
- Smooth 60 fps animation.
6.5 Weaknesses
- Not native look and feel. It is not really "at home" on any OS.
- Dart narrows the talent pool.
- System integration (tray, menubar, shortcuts) is weaker than Electron.
7. Sciter - Commercial HTML and CSS Engine
7.1 Origins and Today
Sciter has been built since 2008 by Andrew Fedoniouk as a proprietary desktop engine. It renders a subset of HTML and CSS with its own engine and the bundle is under 5 MB. Most security products - Norton AntiVirus, BitDefender, ESET, Comodo - render their UI with Sciter.
7.2 Bundle Size and Memory
Under 5 MB. Memory 30 to 60 MB. Among desktop tools this is on the very small end.
7.3 Strengths
- Smallest footprint.
- Familiarity of HTML and CSS combined with near-native performance.
- Thirteen years of production use in security products.
7.4 Weaknesses
- Proprietary licence. Non-commercial use is free but commercial use has licence fees.
- No open-source ecosystem of tools.
- Only a subset of standard web platform features.
8. Slint 1.x - The Embedded plus Desktop Camp
8.1 Origins and Today
Slint is built by SixtyFPS GmbH, founded by former Qt core developers including Olivier Goffart. It started in 2020. 1.0 shipped in 2023 and as of 2026 it is on the 1.6 line. It targets both embedded systems and the desktop, using Rust plus a DSL.
8.2 Licence
- Royalty plus GPL dual licence
- Or a commercial licence
- Open-source projects can use the GPL path
8.3 Strengths
- Own renderer - GPU accelerated, smooth at 60 fps.
- One codebase from embedded (an STM32-class MCU) up to the desktop.
- A separate DSL designer makes design and code separation clean.
8.4 Weaknesses
- New DSL to learn.
- Small ecosystem.
- Licence is effectively dual, requiring some thought for commercial use.
9. Iced - Elm-Inspired Rust GUI
9.1 Origins and Today
Iced has been built since 2019 by Hector Ramon. It is a Rust GUI library, MIT licensed, drawing inspiration from the Elm Model-View-Update architecture.
9.2 Strengths
- Consistent functional pattern. State management is clean.
- Pure Rust - no other-language runtime required.
- Fast startup.
9.3 Weaknesses
- Small widget library. You write a lot of custom widgets.
- Weak embedded and mobile support.
- Still pre-1.0 in 2026.
10. From Druid to Xilem - Linebender's Evolution
10.1 The End of Druid
Druid was built by Raph Levien's Linebender group from 2018 as a Rust GUI toolkit, but by late 2023 it had essentially entered deprecation. Its successor is Xilem.
10.2 Xilem - A New Attempt
Xilem combines SwiftUI-like declarative patterns, Rust safety, and Linebender's graphics know-how. As of 2026 it is still on a 0.x line and not production ready, but it is one of the most-watched GUI experiments in the Rust camp.
11. egui - The Immediate-Mode Camp
11.1 Origins and Today
egui (pronounced "eh-gooey") is a Rust immediate-mode GUI library built since 2020 by Emil Ernerfeldt. MIT licensed. It shares a concept with Dear ImGui in C++.
11.2 Where It Shows Up
- Rerun (CV and robotics visualisation) - a major user
- Games and tools that need a debug overlay
- Fast prototyping
11.3 Strengths
- Short learning curve. You can have a GUI on screen in an hour.
- Very fast startup.
- Web (WebAssembly) is supported.
11.4 Weaknesses
- Low design freedom. Widget appearance is very plain.
- Not suited to large apps. Better for debug tools and visualisation.
12. GTK 4 plus Adwaita - The Linux Native Camp
12.1 Origins and Today
GTK has been the Linux desktop toolkit since 1998. After GTK 4 shipped in 2020 it has become standard practice to pair it with libadwaita, the GNOME design system library. As of 2026 the lines are GTK 4.16 and libadwaita 1.6.
12.2 Who Uses It
- All first-party apps in the GNOME desktop environment
- Files, Calendar, Maps, Photos, Music
- Bottles (Wine manager)
- Many GNOME Circle apps
12.3 Strengths
- 100 percent native look on GNOME Linux.
- Bindings in Vala, Python, Rust (gtk-rs), and C.
- Very strong accessibility and i18n story.
12.4 Weaknesses
- Not a first-class citizen on macOS or Windows. It runs but the look and feel is awkward.
- The GTK 3 to 4 migration is still in progress.
13. Qt 6.8 LTS plus PyQt6 and PySide6
13.1 Origins and Today
Qt has been the emperor of C++ cross-platform GUI toolkits since 1995. Ownership moved Trolltech to Nokia to The Qt Company. Qt 6.8 LTS shipped in October 2024 and as of 2026 6.8 is the stable LTS while 6.9 is the latest.
13.2 Licence
- LGPLv3 - open source, dynamic linking required
- GPL
- Commercial - static linking plus commercial support
13.3 Who Uses It
- Affinity Designer, Photo, Publisher
- OBS Studio
- Maya and parts of the Autodesk suite
- Calibre (e-book manager)
- Every app in KDE Plasma
13.4 PyQt6 and PySide6
- PyQt6 is the GPL or commercial Python binding from Riverbank Computing
- PySide6 is the official LGPL Python binding from Qt
- By 2026 PySide6 sees the wider use, because its licence is friendlier
14. wxWidgets - The Classic C++
wxWidgets has been the oldest cross-platform C++ toolkit since 1992. It calls native widgets on each OS so the look and feel is natural. The downside is modern design is hard and GPU acceleration is weak. By 2026 it is rare for a new project to choose wxWidgets, but plenty of legacy desktop apps still ship on it.
15. JavaFX 23 - Java on the Desktop
15.1 Origins and Today
JavaFX started at Sun in 2008 as a Java-based GUI toolkit. From Java 11 in 2018 it was decoupled from the JDK and now lives in the OpenJFX project. As of 2026 JavaFX 23 is the latest.
15.2 Where It Shows Up
- Some financial trading desktops
- Educational IDEs (BlueJ, Greenfoot)
- Internal admin tools at several SaaS companies
15.3 Assessment
- Natural for Java teams
- Fewer new projects pick JavaFX year by year - Kotlin plus Compose Multiplatform is steadily taking that slot
16. Avalonia 11 - Cross-Platform XAML
16.1 Origins and Today
Avalonia was started in 2013 by Steven Kirk as a .NET cross-platform UI framework. It borrows the WPF XAML pattern but supports Windows, macOS, Linux, iOS, Android, and WebAssembly. As of 2026 Avalonia 11.x is current.
16.2 Who Uses It
- JetBrains Rider and WriterSide (in part)
- AvaloniaUI's own demos and site
- Various game development tools
16.3 Assessment
- Most natural migration path for WPF engineers
- The real cross-platform UI answer for the .NET camp
- More desktop-friendly than MAUI (which is mobile-first)
17. .NET MAUI 9 - Microsoft's Official Answer
17.1 Origins and Today
MAUI (Multi-platform App UI) shipped in 2022 as Microsoft's successor to Xamarin.Forms, a .NET cross-platform framework. The MAUI 9 line landed alongside .NET 9 in November 2024.
17.2 Assessment
- Mobile-first design - desktop is Windows plus macOS only (no Linux)
- An evolution path for WPF and WinForms teams
- Some call it "not really cross-platform" because Linux desktop is ignored
18. SwiftUI on macOS plus Mac Catalyst
18.1 SwiftUI
The declarative UI framework Apple introduced at WWDC 2019. By 2026 - after macOS 15 Sequoia - it is a first-class citizen on the desktop too. The most natural-feeling macOS apps on the App Store are all SwiftUI.
18.2 Mac Catalyst
A compatibility layer that runs iPad apps largely unchanged on macOS, introduced in 2019. It works, but it does not look like a native macOS app - the feeling is more "an iPad running on a big screen".
18.3 Assessment
- If you only need macOS, SwiftUI is the answer
- If you need cross-platform, SwiftUI is not a candidate at all - no Windows, no Linux
19. Comet and Lynx - New Camps from 2025 and 2026
19.1 Comet
Comet was launched in 2025 by the former Plasmic team as a desktop builder bundling a component marketplace, code output, and a wide range of backend integrations. As of 2026 it is in late beta. It targets the workflow where "designers start without code, then engineers take over with real code".
19.2 Lynx
Lynx is a cross-platform framework that ByteDance, TikTok's parent company, open-sourced in March 2025. It shares a concept with React Native but includes desktop as a primary surface. Internally ByteDance uses it across parts of its own apps, and external adoption is rising.
20. NW.js - The Classic Electron Alternative
NW.js (formerly Node-webkit) was started in 2011 by Roger Wang at Intel as a desktop framework. It is essentially a sibling of Electron, sharing nearly the same concept, but it integrates Node and Chromium differently. In 2026 it is rare for a new project to pick NW.js, but some Chinese desktop game launchers still ship on it.
21. Bundle Size at a Glance
| Tool | Empty disk | Empty memory | Startup |
| --- | --- | --- | --- |
| Sciter | under 5 MB | 30-60 MB | 0.3 s |
| NeutralinoJS | 2-5 MB | 40-80 MB | 0.4 s |
| Tauri 2 | 10-15 MB | 50-100 MB | 0.5 s |
| Wails 3 | 15-25 MB | 60-120 MB | 0.6 s |
| Flutter Desktop | 30-50 MB | 100-150 MB | 0.7 s |
| Slint | 5-15 MB | 40-80 MB | 0.3 s |
| Iced | 10-20 MB | 50-100 MB | 0.4 s |
| egui | 5-10 MB | 40-80 MB | 0.3 s |
| Avalonia | 30-60 MB | 80-140 MB | 0.8 s |
| Electron 34 | 150-300 MB | 100-250 MB | 1-3 s |
| Qt 6.8 (LGPL dynamic) | 20-40 MB plus Qt runtime | 60-120 MB | 0.5 s |
22. Native API Reach - How Far Do They Go
A desktop app only delivers real value when it integrates deeply with the OS.
22.1 Frequently Needed System Integrations
- File dialogs (open and save)
- System tray or menubar icons
- Notifications (macOS Notification Center, Windows Action Center, Linux libnotify)
- Deep links - URL scheme handlers like `myapp://` (refer to such schemes inside inline code)
- Clipboard - text, image, custom formats
- Global shortcuts
- Auto start
- Window decoration customisation
22.2 Maturity by Camp
- **Electron**: the most complete. The `dialog`, `Tray`, `Notification`, `globalShortcut`, and `protocol` APIs have been polished for thirteen years.
- **Tauri 2**: nearly equal. v2 expanded the surface by adding mobile APIs.
- **Wails 3**: core integrations all work, some edge cases still gappy.
- **Flutter Desktop**: basic system integration exists but is shallower than Electron. Community packages such as `system_tray` and `window_manager` help.
- **Qt**: very strong. Twenty-five years of know-how.
22.3 Inline Code Recommended Patterns
WebView embed tags should be discussed only inside inline backticks - for example `<webview>` - and never as plain prose. The same goes for `<window>` and other tag-shaped tokens.
23. Code Signing and Notarization - The Real Distribution Gate
23.1 macOS
- Developer ID certificate (Apple Developer Program, USD 99 per year)
- Code signing plus notarization mandatory since macOS 10.15
- Sparkle for auto update, or electron-updater
23.2 Windows
- Authenticode certificate (around USD 300 per year and up)
- EV (Extended Validation) certificates run USD 1,500 plus - they build SmartScreen reputation faster
- electron-builder, NSIS, Squirrel.Windows, Inno Setup
23.3 Linux
- Flatpak (Flathub)
- Snap (Canonical)
- AppImage
- deb (Debian and Ubuntu)
- rpm (Fedora and SUSE)
23.4 2026 Trend
GitHub Actions has become the standard build, sign, and ship pipeline. Tauri Action, the electron-builder Action, and flutter-action - workflow templates apply in five minutes.
24. Auto-Update Systems
24.1 Squirrel for Windows and Mac
A classic updater dating back to the Atom days. Electron picks it by default. Delta updates supported.
24.2 electron-updater (part of electron-builder)
Pulls updates from GitHub Releases, S3, or a custom server. The most widely used Electron updater.
24.3 Tauri Updater
The official Tauri updater. Verifies package signatures with minisign.
24.4 Sparkle for macOS
The macOS-only updater that Andy Matuschak has maintained since 2006. Virtually every native macOS app uses it.
24.5 Google Omaha and omaha-server
The update server used by Google Chrome. Open-source omaha-server can be self-hosted.
25. Korea and Japan Desktop App Landscape
25.1 Korea
- **KakaoTalk Desktop**: Electron-based. As of 2026 still the most-installed Korean desktop app.
- **Naver Whale**: a Chromium-fork browser plus the Whale Winter mode.
- **Jandi Desktop** (Toss collaboration): Electron.
- **Notion Korea**: identical to the global Electron build.
- **LINE Desktop**: Electron-based (LINE belongs to Japan's NHN but it is widely used in Korea too).
25.2 Japan
- **GitMind Desktop**: mind-mapping tool. Electron.
- **Cybozu Office Desktop client**: standard of Japanese enterprise collaboration. Electron.
- **Backlog Desktop**: Nulab's project management app. Electron.
- **Rakuten Rakuraku Mail**: a desktop mail client.
- **Money Forward Desktop**: personal finance.
- **Parts of SmartHR**: experimenting with Flutter Desktop.
26. Hybrid Patterns - WebView Inside Native
Beyond cross-platform, a single-OS native shell that embeds a webview only for specific screens is common too.
26.1 Windows
- WPF plus WebView2 - embed Chromium Edge for specific pages
- WinForms plus WebView2
- WinUI 3 plus WebView2
26.2 macOS and iOS
- AppKit plus WKWebView
- UIKit plus WKWebView
- SwiftUI plus a `WKWebView` wrapper (a first-class `WebView` component is being formalised)
26.3 Examples in the Wild
- Parts of Korea's KakaoBank desktop - a WPF base with WebView2 embeds
- Parts of Japan's Rakuten desktop tools - native plus webview hybrids
- Some 1Password 8 screens - the shell is Electron but the billing screens load an external web page
27. Decision Matrix - Narrow It Down with Five Questions
27.1 Question 1 - What Is Your Team's Primary Language
- TypeScript or JavaScript - Electron, Tauri, Wails, NeutralinoJS
- Rust - Tauri, Slint, Iced, egui
- Go - Wails
- Dart - Flutter Desktop
- C# - MAUI, Avalonia, WPF
- Java or Kotlin - JavaFX, Compose Multiplatform
- Swift - SwiftUI on macOS
27.2 Question 2 - Must Mobile Share the Same Codebase
- Yes - Tauri 2, Flutter, Compose Multiplatform, MAUI, Lynx, React Native
- No - any of the others
27.3 Question 3 - How Important Is Bundle Size
- Critical (under 20 MB) - Tauri, Wails, NeutralinoJS, Slint, Sciter
- Medium (under 50 MB) - Flutter, Avalonia
- Irrelevant (150 MB plus) - Electron
27.4 Question 4 - Is Linux Desktop a First-Class Target
- Yes - Electron, Tauri, Wails, Flutter, Qt, GTK, Avalonia
- No (Windows plus macOS only) - MAUI is acceptable
27.5 Question 5 - Any Licence Constraints
- Want pure MIT or Apache - Electron, Tauri, Wails, NeutralinoJS, Flutter, Iced, egui, Avalonia
- LGPL is fine - Qt (dynamic linking)
- GPL is fine - Slint (or its commercial licence)
- Happy to buy a commercial licence - Sciter, Slint, Qt
28. Anti-Patterns and Traps
28.1 "It Is Electron So Being Heavy Is Fine"
Backwards. Electron apps can be light - VS Code proves it. ASAR packaging, lazy-loaded modules, V8 snapshots, virtual scrolling - the optimisation playbook exists. Picking Electron is not an excuse to skip optimisation.
28.2 "Switching to Tauri Cuts Memory by Two Thirds"
Half true. Tauri's empty app is one third the size, but real apps that lean on Chromium features (WebGL, codecs, DRM) often find that system webviews either do not support them or behave differently. Migration cost can outweigh the memory savings.
28.3 "Flutter Desktop Is Free Because It Reuses Mobile Code"
UI code is reused. System integration code (tray, menubar, shortcuts, window management) all has to be written from scratch. "90 percent code shared" is true, but the remaining 10 percent is what makes a desktop experience.
28.4 "Qt Is Not Free" Is a Misunderstanding
Qt is free under LGPL dynamic linking. Commercial licences are only needed for special cases such as static linking or certain mobile and embedded targets. Fear of Qt licensing should not block a reasonable tool.
28.5 "Newer Tools Are Always Better"
Slint, Iced, Xilem, Lynx are interesting but carry production risk. Fine for prototypes and side projects. For a mission-critical product a tool with at least five years on the clock is safer.
29. Real Migration Stories - What Works, What Hurts
29.1 Linear Desktop - Evaluating Tauri from Electron
Linear has reportedly evaluated migrating to Tauri in 2024. The outcome was "stay on Electron for now". Reasons - Electron runs surprisingly well on macOS Apple Silicon and the migration headcount cost is high.
29.2 KakaoTalk Desktop
For a long time it was a homegrown C++ client, then in the early 2020s it switched to Electron. The outcome is mixed - UI updates ship faster but a number of users complain that memory consumption is now larger.
29.3 Cap Screen Recorder
Started on Tauri 2 from day one. Build size 12 MB, lightweight on Apple Silicon. One of Tauri's flagship case studies.
29.4 1Password 7 to 8
1Password 7 was native, then 8 moved to an Electron base. The decision was about code sharing and feature velocity, but some macOS users still complain that the older version felt better. A clean illustration of Electron's price tag.
30. Conclusion - What Is Your Top Priority
Five-minute decision guide:
1. **Team language is the strongest filter** - once it is fixed, candidates already drop by half.
2. **Mobile-shared-codebase is the second filter** - if it is mandatory, the field narrows to Tauri 2, Flutter, Compose, MAUI, and Lynx.
3. **Bundle size and memory ceiling are the third filter** - if your users tend toward low-spec PCs, Electron is the last resort.
4. **System integration depth is the fourth filter** - if tray, notifications, shortcuts, and menubar must all be first-class, the answer is Electron, Tauri, or Qt.
5. **Licence and budget are the fifth filter** - depending on your company, Sciter or a commercial Qt licence can be the rational pick.
Five questions usually narrow the field to one to three candidates. From there a thirty-minute proof of concept decides - confirm yourself that startup time, build speed, and packaging simplicity are really as promised.
"What is the best cross-platform desktop framework" is the wrong question. "What are three tools that are reasonable for our team" is the real question, and this article is the map that gets you to the answer quickly.
References
- Electron official: [electronjs.org](https://www.electronjs.org/)
- Electron release notes: [github.com/electron/electron/releases](https://github.com/electron/electron/releases)
- Electron 34 changes: [electronjs.org/blog/electron-34-0](https://www.electronjs.org/blog)
- Tauri official: [tauri.app](https://tauri.app/)
- Tauri 2.0 announcement: [tauri.app/blog/tauri-20](https://tauri.app/blog/tauri-20/)
- Tauri Updater: [tauri.app/v1/guides/distribution/updater](https://tauri.app/v1/guides/distribution/updater/)
- Wails official: [wails.io](https://wails.io/)
- Wails v3 alpha: [v3alpha.wails.io](https://v3alpha.wails.io/)
- NeutralinoJS official: [neutralino.js.org](https://neutralino.js.org/)
- Flutter Desktop: [docs.flutter.dev/platform-integration/desktop](https://docs.flutter.dev/platform-integration/desktop)
- Sciter official: [sciter.com](https://sciter.com/)
- Slint UI: [slint.dev](https://slint.dev/)
- Slint 1.0 announcement: [slint.dev/blog/2023-04-03-announcing-slint-1-0](https://slint.dev/blog/2023-04-03-announcing-slint-1-0)
- Iced (Rust): [iced.rs](https://iced.rs/)
- Xilem GitHub: [github.com/linebender/xilem](https://github.com/linebender/xilem)
- Druid GitHub: [github.com/linebender/druid](https://github.com/linebender/druid)
- egui official: [egui.rs](https://www.egui.rs/)
- Rerun (uses egui): [rerun.io](https://rerun.io/)
- GTK official: [gtk.org](https://www.gtk.org/)
- libadwaita: [gnome.pages.gitlab.gnome.org/libadwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/)
- Qt 6.8 LTS: [qt.io/blog/qt-6.8-lts-released](https://www.qt.io/blog/qt-6.8-lts-released)
- PySide6 / Qt for Python: [doc.qt.io/qtforpython](https://doc.qt.io/qtforpython/)
- wxWidgets official: [wxwidgets.org](https://www.wxwidgets.org/)
- OpenJFX (JavaFX): [openjfx.io](https://openjfx.io/)
- Avalonia 11: [avaloniaui.net](https://avaloniaui.net/)
- .NET MAUI: [dotnet.microsoft.com/apps/maui](https://dotnet.microsoft.com/apps/maui)
- SwiftUI on macOS: [developer.apple.com/documentation/swiftui](https://developer.apple.com/documentation/swiftui)
- Mac Catalyst: [developer.apple.com/mac-catalyst](https://developer.apple.com/mac-catalyst/)
- Lynx (ByteDance): [lynxjs.org](https://lynxjs.org/)
- NW.js official: [nwjs.io](https://nwjs.io/)
- WebView2 (Windows): [developer.microsoft.com/microsoft-edge/webview2](https://developer.microsoft.com/microsoft-edge/webview2/)
- WKWebView Apple: [developer.apple.com/documentation/webkit/wkwebview](https://developer.apple.com/documentation/webkit/wkwebview)
- WebKitGTK: [webkitgtk.org](https://webkitgtk.org/)
- electron-builder: [electron.build](https://www.electron.build/)
- Sparkle auto updater: [sparkle-project.org](https://sparkle-project.org/)
- VS Code case study: [code.visualstudio.com](https://code.visualstudio.com/)
- Spacedrive (uses Tauri): [spacedrive.com](https://www.spacedrive.com/)
- Cap (uses Tauri): [cap.so](https://cap.so/)
- Mockoon (uses Tauri): [mockoon.com](https://mockoon.com/)
- Rive (uses Flutter Desktop): [rive.app](https://rive.app/)
- Affinity (uses Qt): [affinity.serif.com](https://affinity.serif.com/)
- OBS Studio (uses Qt): [obsproject.com](https://obsproject.com/)
- KakaoTalk Desktop download: [kakao.com](https://www.kakao.com/)
- Naver Whale: [whale.naver.com](https://whale.naver.com/)
- Cybozu Office: [cybozu.co.jp](https://cybozu.co.jp/)
- Backlog Desktop: [backlog.com](https://backlog.com/)
현재 단락 (1/295)
In the mid 2010s, mobile apps seemed to be on track to swallow every screen. The reality of 2026 ran...