2026 跨平台桌面应用开发深度指南:Electron、Tauri、Wails、Flutter Desktop 等全面对比

前言:桌面端再次成为主战场

2010 年代中期,移动应用似乎要吞并所有屏幕。但到 2026 年,现实却反了过来。开发者工具(VS Code、Cursor、JetBrains)、设计工具(Figma Desktop、Affinity)、协作工具(Slack、Discord、Notion、Linear、KakaoTalk Desktop)、安全工具(1Password、Bitwarden)以及媒体工具(OBS、Reaper、DaVinci Resolve、Cap)——它们都把桌面端当作主要阵地。Web 应用只是 fallback,移动应用只是通知渠道,真正的工作发生在桌面端。

因此,“我们该用什么构建跨平台桌面应用”再次成为最热门的问题。一个月前我整理了一份桌面框架分类图,这篇文章就是沿着那张图走一遍:安装候选框架、构建安装包、测量内存、尝试打包和代码签名,最后根据结果告诉你该选哪个。

一句话核心:2026 年,选择不再是“Electron 还是 Tauri”。Wails 3、Flutter Desktop、Slint、Iced、Lynx、Avalonia、MAUI 等阵营百花齐放,各有优势。本文的目标是用 30 分钟帮你理清这些阵营,并通过五个标准选出适合你团队的工具。


一、塑造 2026 年桌面市场的四大趋势

1.1 从捆绑 Chromium 到系统 WebView

每个应用都自带 Chromium 的时代正在结束。Windows 上的 WebView2、macOS 上的 WKWebView、Linux 上的 WebKitGTK 如今已经成熟,使用它们可以把安装包缩小到原来的十分之一左右。Tauri 2、Wails 3 和 NeutralinoJS 都属于系统 WebView 阵营。

1.2 桌面框架向移动端扩展

Tauri 2 在 2024 年增加了 iOS 和 Android 支持,让“一套代码覆盖桌面和移动”再次成为可能。Flutter 则是从移动框架成长到桌面端,Compose Multiplatform 和 MAUI 也有同样的野心。

1.3 Rust 阵营走向主流

Tauri、Slint、Iced、Xilem、egui、gtk-rs——现在已经有超过六个 Rust 桌面 UI 工具。到 2026 年,用 Rust 启动新项目不再是冒险,而是一个稳妥的选择。

1.4 打包与代码签名标准化

macOS Developer ID 与公证、Windows Authenticode 与 EV 证书、Linux Flatpak 和 Snap——五年前每个平台都有自己的一套仪式,但到 2026 年,electron-builder、Tauri Action 和 GitHub Actions 工作流已经固化成接近标准的模板。


二、Electron 34:依然是大象,但路越来越窄

2.1 起源与现状

Electron 最初叫 Atom Shell。GitHub 在 2013 年为了构建 Atom 编辑器而启动它,后来项目移交 OpenJS Foundation,并保持稳定发布节奏。截至 2026 年 5 月,Electron 34 是稳定版本,基于 Chromium 130 系列。从 v34 开始,macOS 和 Windows 上强制启用 ASAR 完整性校验,新增 utility process API,并支持原生毛玻璃效果。

2.2 谁在用它

  • VS Code、Cursor、Trae
  • Slack、Discord、Notion、Linear
  • 1Password 8、Bitwarden
  • Figma Desktop、GitHub Desktop、Postman
  • Spotify(很长一段时间)

2.3 包体积与内存

一个空的 Hello World 应用大约占用 150 MB 磁盘空间,压缩下载约 80 MB。空应用内存约 100–200 MB,真实应用通常在 200–500 MB,Discord 或 Slack 可能超过 1 GB。

2.4 优势

  • 十三年成熟积累,几乎所有边界情况都已被解决。
  • Chromium 兼容性:WebGL、WebRTC、Service Workers、编解码器表现一致。
  • electron-builder、electron-forge、Spectron、electron-updater 等企业级工具丰富。

2.5 劣势

  • 包体积 150–300 MB。
  • 空应用内存也从 100 MB 起步。
  • 启动时间 1–3 秒,这是启动 Chromium 和 V8 的代价。
  • 安全风险:node integration 滥用加上 remote 模块可能导致 RCE。

三、Tauri 2:系统 WebView 阵营的领头羊

3.1 起源与现状

Tauri 由 Daniel Thompson-Yvetot 于 2019 年主导开发,是一个基于 Rust 的 MIT 许可桌面框架。v2 于 2024 年正式发布,新增 iOS 和 Android 支持。截至 2026 年 5 月,它已成为“一套代码覆盖桌面和移动”阵营的标准答案。

3.2 谁在用它

  • Spacedrive(跨平台文件管理器)
  • Mockoon(API 模拟服务器)
  • Cap(开源录屏工具)
  • Lens(Kubernetes IDE,部分使用)

3.3 包体积与内存

空应用约 10 MB。因为它使用系统 WebView,不自带 Chromium。内存约 50–100 MB,大约是 Electron 的三分之一。

3.4 优势

  • 包体积约为 Electron 的十五分之一,下载更快、磁盘占用更小。
  • 内存不到 Electron 的一半。
  • Rust 后端安全且快速。
  • v2 支持 iOS 和 Android,一套代码覆盖五大平台。

3.5 劣势

  • 系统 WebView 之间存在差异。macOS WKWebView 和 Windows WebView2 行为有细微不同。
  • WebGL 和编解码器兼容性不如 Chromium 统一。
  • Rust 学习曲线。写后端需要懂 Rust。
  • 七年历史,生态深度仍不及 Electron。

四、Wails 3:Go 阵营的桌面答案

4.1 起源与现状

Wails 由 Lea Anthony 自 2019 年起用 Go 开发,MIT 许可。v3 alpha 自 2024 年公开,截至 2026 年已接近正式发布。概念与 Tauri 几乎相同——系统 WebView + 编译后端——但后端语言是 Go。

4.2 包体积与内存

空应用约 15 MB,内存 60–120 MB。大致与 Tauri 处于同一水平。

4.3 优势

  • 团队已经在用 Go 时的自然选择。后端基础设施用 Go 的公司可以用同一种语言构建桌面工具。
  • 单二进制构建简单。
  • 构建速度比 Tauri 快,因为 Go 编译比 Rust 快。

4.4 劣势

  • 用户群比 Tauri 小,生态更薄。
  • 不支持移动端。
  • v3 仍在 alpha 阶段。

五、NeutralinoJS:超轻量阵营

5.1 起源与现状

NeutralinoJS 由 Shalitha Suranga 于 2020 年作为 TypeScript 桌面框架启动,MIT 许可。它的理念比 Tauri 或 Wails 更进一步:甚至不需要 Rust 或 Go,只依赖系统 WebView。后端没有编译步骤。

5.2 包体积与内存

空应用约 2–5 MB,是所有框架中最小的。内存 40–80 MB。

5.3 优势

  • 最小的包体积,秒级下载。
  • 构建几乎是瞬时的。
  • 整个产品只用一种语言:TypeScript。

5.4 劣势

  • 后端能力有限。CPU 密集型工作需要原生扩展。
  • 文档和工具较少。
  • 安全模型不如 Tauri 成熟。

六、Flutter Desktop:自绘渲染阵营

6.1 起源与现状

Flutter 由 Google 于 2017 年作为移动框架启动,使用 Dart 语言和 Skia 渲染引擎。桌面端于 2022 年进入稳定版,到 2026 年 Windows、macOS、Linux 均已可用于生产环境。

6.2 谁在用它

  • Rive(动画工具)
  • Reflectly(日记应用)
  • Wonderous(世界奇迹指南)
  • Superlist(待办应用)
  • 日本 SmartHR 桌面模块的部分功能

6.3 包体积与内存

空应用 30–50 MB。它不打包 WebView,但会携带 Skia 引擎。内存 100–150 MB。

6.4 优势

  • 跨平台像素级一致。设计师确认的效果能原样交付。
  • 与移动端共享同一份代码库。
  • 流畅的 60 fps 动画。

6.5 劣势

  • 不是原生外观。在任何操作系统上都不太“像本地应用”。
  • Dart 缩小了人才池。
  • 系统集成(托盘、菜单栏、快捷键)比 Electron 弱。

七、Sciter:商业 HTML/CSS 引擎

7.1 起源与现状

Sciter 由 Andrew Fedoniouk 自 2008 年起开发,是专有的桌面引擎。它用自己的引擎渲染 HTML/CSS 子集,包体积不到 5 MB。大多数安全产品——Norton AntiVirus、BitDefender、ESET、Comodo——都用 Sciter 渲染 UI。

7.2 包体积与内存

不到 5 MB,内存 30–60 MB。在桌面工具中属于非常小的。

7.3 优势

  • 最小的体积之一。
  • 熟悉的 HTML/CSS 加上接近原生的性能。
  • 在安全产品中经过 13 年生产验证。

7.4 劣势

  • 专有许可证。非商业使用免费,商业使用需付费。
  • 没有开源工具生态。
  • 只支持标准 Web 平台功能的子集。

八、Slint 1.x:嵌入式 + 桌面阵营

8.1 起源与现状

Slint 由 SixtyFPS GmbH 开发,创始人包括前 Qt 核心开发者 Olivier Goffart。项目始于 2020 年,1.0 于 2023 年发布,截至 2026 年已发展到 1.6 系列。它同时面向嵌入式系统和桌面,使用 Rust 和专用 DSL。

8.2 许可证

  • 版税 + GPL 双许可
  • 或商业许可
  • 开源项目可走 GPL 路径

8.3 优势

  • 自研渲染器,GPU 加速,流畅 60 fps。
  • 从嵌入式(STM32 级别 MCU)到桌面共享一套代码。
  • 独立的 DSL 设计器让设计与代码分离更清晰。

8.4 劣势

  • 需要学习新的 DSL。
  • 生态较小。
  • 许可证实际上是双许可,商业用途需要谨慎考虑。

九、Iced:受 Elm 启发的 Rust GUI

9.1 起源与现状

Iced 由 Hector Ramon 自 2019 年起开发,是一个 Rust GUI 库,MIT 许可,灵感来自 Elm 的 Model-View-Update 架构。

9.2 优势

  • 一致的函数式模式,状态管理清晰。
  • 纯 Rust,不需要其他语言运行时。
  • 启动快。

9.3 劣势

  • 控件库小,需要写很多自定义控件。
  • 嵌入式和移动支持弱。
  • 2026 年仍未到 1.0。

十、从 Druid 到 Xilem:Linebender 的演进

10.1 Druid 的终结

Druid 由 Raph Levien 领导的 Linebender 团队自 2018 年起作为 Rust GUI 工具包开发,但到 2023 年底已基本进入弃用状态。它的继任者是 Xilem。

10.2 Xilem:新的尝试

Xilem 结合了类 SwiftUI 的声明式模式、Rust 安全性和 Linebender 的图形技术。截至 2026 年仍处于 0.x 阶段,尚未可用于生产,但它是 Rust 阵营最受关注的 GUI 实验之一。


十一、egui:即时模式阵营

11.1 起源与现状

egui(发音“eh-gooey”)是由 Emil Ernerfeldt 自 2020 年起开发的 Rust 即时模式 GUI 库,MIT 许可。概念与 C++ 的 Dear ImGui 类似。

11.2 适用场景

  • Rerun(计算机视觉与机器人可视化)——主要用户
  • 需要调试覆盖层的游戏和工具
  • 快速原型

11.3 优势

  • 学习曲线短,一小时就能出界面。
  • 启动非常快。
  • 支持 Web(WebAssembly)。

11.4 劣势

  • 设计自由度低,控件外观朴素。
  • 不适合大型应用,更适合调试工具和可视化。

十二、GTK 4 + Adwaita:Linux 原生阵营

12.1 起源与现状

GTK 自 1998 年以来一直是 Linux 桌面工具包。GTK 4 于 2020 年发布后,与 libadwaita(GNOME 设计系统库)搭配使用已成为标准做法。截至 2026 年,版本线为 GTK 4.16 和 libadwaita 1.6。

12.2 谁在用它

  • GNOME 桌面环境的所有第一方应用
  • Files、Calendar、Maps、Photos、Music
  • Bottles(Wine 管理器)
  • 许多 GNOME Circle 应用

12.3 优势

  • 在 GNOME Linux 上 100% 原生外观。
  • 支持 Vala、Python、Rust(gtk-rs)、C 绑定。
  • 可访问性和国际化非常强。

12.4 劣势

  • 在 macOS 或 Windows 上不是一等公民,能跑但外观别扭。
  • GTK 3 到 4 的迁移仍在进行中。

十三、Qt 6.8 LTS + PyQt6 / PySide6

13.1 起源与现状

Qt 自 1995 年以来一直是 C++ 跨平台 GUI 工具包的王者。所有权从 Trolltech 到诺基亚,再到 The Qt Company。Qt 6.8 LTS 于 2024 年 10 月发布,截至 2026 年,6.8 是稳定 LTS,6.9 是最新版。

13.2 许可证

  • LGPLv3——开源,需要动态链接
  • 商业许可——支持静态链接和商业支持

13.3 谁在用它

  • Affinity Designer、Photo、Publisher
  • Maya 及 Autodesk 套件的部分功能
  • Calibre(电子书管理器)
  • KDE Plasma 中的所有应用

13.4 PyQt6 与 PySide6

  • PyQt6 是 Riverbank Computing 提供的 GPL 或商业 Python 绑定。
  • PySide6 是 Qt 官方提供的 LGPL Python 绑定。
  • 到 2026 年,PySide6 使用更广泛,因为许可证更友好。

十四、wxWidgets:经典 C++

wxWidgets 自 1992 年以来一直是最古老的跨平台 C++ 工具包。它在每个操作系统上调用原生控件,因此外观自然。缺点是现代设计难以实现,GPU 加速弱。到 2026 年,新项目已很少选择 wxWidgets,但许多遗留桌面应用仍在上面运行。


十五、JavaFX 23:Java 桌面方案

15.1 起源与现状

JavaFX 于 2008 年由 Sun 启动,是一个基于 Java 的 GUI 工具包。从 2018 年的 Java 11 开始,它从 JDK 中解耦,现在属于 OpenJFX 项目。截至 2026 年,JavaFX 23 是最新版。

15.2 适用场景

  • 一些金融交易桌面
  • 教育 IDE(BlueJ、Greenfoot)
  • 多家 SaaS 公司的内部管理工具

15.3 评价

  • Java 团队的自然选择
  • 新项目逐年减少——Kotlin + Compose Multiplatform 正在稳步取代这个位置

十六、Avalonia 11:跨平台 XAML

16.1 起源与现状

Avalonia 由 Steven Kirk 于 2013 年启动,是一个 .NET 跨平台 UI 框架。它借鉴 WPF 的 XAML 模式,但支持 Windows、macOS、Linux、iOS、Android 和 WebAssembly。截至 2026 年,Avalonia 11.x 是当前版本。

16.2 谁在用它

  • JetBrains Rider 和 WriterSide(部分使用)
  • AvaloniaUI 自己的演示和网站
  • 各种游戏开发工具

16.3 评价

  • WPF 工程师最自然的迁移路径
  • .NET 阵营真正的跨平台 UI 答案
  • 比 MAUI 更桌面友好(MAUI 是移动优先)

十七、.NET MAUI 9:微软的官方答案

17.1 起源与现状

MAUI(Multi-platform App UI)于 2022 年作为微软 Xamarin.Forms 的继任者发布,是一个 .NET 跨平台框架。MAUI 9 与 .NET 9 一起在 2024 年 11 月发布。

17.2 评价

  • 移动优先设计——桌面只支持 Windows 和 macOS(没有 Linux)
  • WPF 和 WinForms 团队的演进路径
  • 有人称它“不是真正的跨平台”,因为 Linux 桌面被忽略了

十八、SwiftUI on macOS + Mac Catalyst

18.1 SwiftUI

Apple 在 WWDC 2019 推出的声明式 UI 框架。到 2026 年——经过 macOS 15 Sequoia——它在桌面端也已成为一等公民。App Store 上最自然的 macOS 应用几乎都是 SwiftUI 写的。

18.2 Mac Catalyst

2019 年推出的兼容层,可以让 iPad 应用几乎原样运行在 macOS 上。它能用,但看起来不像原生 macOS 应用,更像是“在大屏幕上运行的 iPad”。

18.3 评价

  • 如果只需要 macOS,SwiftUI 就是答案。
  • 如果需要跨平台,SwiftUI 完全不是候选——没有 Windows,没有 Linux。

十九、Comet 与 Lynx:2025 和 2026 的新阵营

19.1 Comet

Comet 由前 Plasmic 团队于 2025 年推出,是一个桌面构建工具,捆绑组件市场、代码输出和广泛的后端集成。截至 2026 年处于 late beta。它瞄准的工作流是“设计师无需代码开始,然后工程师用真实代码接管”。

19.2 Lynx

Lynx 是字节跳动(TikTok 母公司)于 2025 年 3 月开源的跨平台框架。概念与 React Native 类似,但将桌面作为主要平台之一。字节跳动内部在部分应用中使用它,外部采用率也在上升。


二十、NW.js:经典的 Electron 替代品

NW.js(前身为 node-webkit)由 Roger Wang 于 2011 年在 Intel 启动。它本质上是 Electron 的兄弟,概念几乎相同,但集成 Node 和 Chromium 的方式不同。2026 年新项目已很少选择 NW.js,但一些中国桌面游戏启动器仍在使用它。


二十一、包体积一览

工具空应用磁盘占用空应用内存启动时间
Sciter不到 5 MB30–60 MB0.3 s
NeutralinoJS2–5 MB40–80 MB0.4 s
Tauri 210–15 MB50–100 MB0.5 s
Wails 315–25 MB60–120 MB0.6 s
Flutter Desktop30–50 MB100–150 MB0.7 s
Slint5–15 MB40–80 MB0.3 s
Iced10–20 MB50–100 MB0.4 s
egui5–10 MB40–80 MB0.3 s
Avalonia30–60 MB80–140 MB0.8 s
Electron 34150–300 MB100–250 MB1–3 s
Qt 6.8(LGPL 动态)20–40 MB + Qt 运行时60–120 MB0.5 s

二十二、原生 API 覆盖范围

桌面应用只有深度集成操作系统时才能真正发挥价值。

22.1 常用系统集成需求

  • 文件对话框(打开、保存)
  • 系统托盘或菜单栏图标
  • 通知(macOS 通知中心、Windows 操作中心、Linux libnotify)
  • 深度链接——URL scheme 处理,例如 myapp://
  • 剪贴板——文本、图片、自定义格式
  • 全局快捷键
  • 开机自启
  • 窗口装饰自定义

22.2 各阵营成熟度

  • Electron:最完整。dialog、Tray、Notification、globalShortcut、protocol 等 API 已经打磨了十三年。
  • Tauri 2:几乎相当。v2 通过增加移动 API 扩大了覆盖范围。
  • Wails 3:核心集成都能用,部分边界情况仍有缺口。
  • Flutter Desktop:基本系统集成存在,但比 Electron 浅。社区包如 system_tray 和 window_manager 有帮助。
  • Qt:非常强。二十五年的积累。

二十三、代码签名与公证:真正的分发门槛

23.1 macOS

  • Developer ID 证书(Apple Developer Program,每年 99 美元)
  • 自 macOS 10.15 起,代码签名 + 公证强制
  • 自动更新可用 Sparkle 或 electron-updater

23.2 Windows

  • Authenticode 证书(每年约 300 美元起)
  • EV(扩展验证)证书 1500 美元以上——能更快建立 SmartScreen 信誉
  • electron-builder、NSIS、Squirrel.Windows、Inno Setup

23.3 Linux

  • Flatpak(Flathub)
  • Snap(Canonical)
  • deb(Debian、Ubuntu)
  • rpm(Fedora、SUSE)

23.4 2026 趋势

GitHub Actions 已成为标准的构建、签名、发布流水线。Tauri Action、electron-builder Action、flutter-action——工作流模板五分钟就能套用。


二十四、自动更新系统

24.1 Squirrel(Windows 和 Mac)

源自 Atom 时代的经典更新器。Electron 默认使用它,支持增量更新。

24.2 electron-updater(electron-builder 的一部分)

从 GitHub Releases、S3 或自定义服务器拉取更新。是使用最广泛的 Electron 更新器。

24.3 Tauri Updater

Tauri 官方更新器,使用 minisign 验证包签名。

24.4 Sparkle(macOS)

Andy Matuschak 自 2006 年起维护的 macOS 专用更新器。几乎每个原生 macOS 应用都用它。

24.5 Google Omaha 与 omaha-server

Google Chrome 使用的更新服务器。开源的 omaha-server 可以自托管。


二十五、韩国与日本桌面应用生态

25.1 韩国

  • KakaoTalk Desktop:基于 Electron。截至 2026 年仍是韩国安装量最大的桌面应用。
  • Naver Whale:Chromium 分支浏览器,含 Whale Winter 模式。
  • Jandi Desktop(Toss 协作):Electron。
  • Notion Korea:与全球版相同的 Electron 构建。
  • LINE Desktop:基于 Electron(LINE 属于日本 NHN,但在韩国也广泛使用)。

25.2 日本

  • GitMind Desktop:思维导图工具,Electron。
  • Cybozu Office Desktop client:日本企业协作标准,Electron。
  • Backlog Desktop:Nulab 的项目管理应用,Electron。
  • Rakuten Rakuraku Mail:桌面邮件客户端。
  • Money Forward Desktop:个人理财。
  • SmartHR 部分功能:正在尝试 Flutter Desktop。

二十六、混合模式:原生外壳 + WebView

除了跨平台方案,单操作系统原生外壳中嵌入 WebView 用于特定屏幕也很常见。

26.1 Windows

  • WPF + WebView2
  • WinForms + WebView2
  • WinUI 3 + WebView2

26.2 macOS 和 iOS

  • AppKit + WKWebView
  • UIKit + WKWebView
  • SwiftUI + WKWebView 包装器(正式的 WebView 组件正在规范化)

26.3 实际案例

  • 韩国 KakaoBank 桌面部分:WPF 基础 + WebView2 嵌入
  • 日本 Rakuten 部分桌面工具:原生 + WebView 混合
  • 1Password 8 部分屏幕:外壳是 Electron,但账单屏幕加载外部网页

二十七、决策矩阵:用五个问题缩小范围

问题 1:团队主要语言是什么?

  • TypeScript/JavaScript → Electron、Tauri、Wails、NeutralinoJS
  • Rust → Tauri、Slint、Iced、egui
  • Go → Wails
  • Dart → Flutter Desktop
  • C# → MAUI、Avalonia、WPF
  • Java/Kotlin → JavaFX、Compose Multiplatform
  • Swift → SwiftUI on macOS

问题 2:是否必须移动端共享代码库?

  • 是 → Tauri 2、Flutter、Compose Multiplatform、MAUI、Lynx、React Native
  • 否 → 其他任意选项

问题 3:包体积有多重要?

  • 关键(< 20 MB)→ Tauri、Wails、NeutralinoJS、Slint、Sciter
  • 中等(< 50 MB)→ Flutter、Avalonia
  • 无所谓(> 150 MB)→ Electron

问题 4:Linux 桌面是否是一等目标?

  • 是 → Electron、Tauri、Wails、Flutter、Qt、GTK、Avalonia
  • 否(仅 Windows + macOS)→ MAUI 可接受

问题 5:许可证是否有限制?

  • 想要纯 MIT/Apache → Electron、Tauri、Wails、NeutralinoJS、Flutter、Iced、egui、Avalonia
  • LGPL 可接受 → Qt(动态链接)
  • GPL 可接受 → Slint(或其商业许可)
  • 愿意购买商业许可 → Sciter、Slint、Qt

二十八、反模式与陷阱

28.1 “因为是 Electron,所以重一点没关系”

恰恰相反。Electron 应用也可以很轻——VS Code 就是证明。ASAR 打包、懒加载模块、V8 快照、虚拟滚动——优化手册是存在的。选择 Electron 不是跳过优化的借口。

28.2 “切换到 Tauri 能减少三分之二内存”

半真半假。Tauri 的空应用确实只有三分之一大小,但真实应用如果依赖 Chromium 功能(WebGL、编解码器、DRM),往往会发现系统 WebView 要么不支持,要么行为不同。迁移成本可能超过内存节省。

28.3 “Flutter Desktop 免费,因为它复用移动代码”

UI 代码确实复用。但系统集成代码(托盘、菜单栏、快捷键、窗口管理)都需要从头写。“90% 代码共享”是真的,但剩下的 10% 才是桌面体验的关键。

28.4 “Qt 不免费”是误解

Qt 在 LGPL 动态链接下是免费的。商业许可只在特殊情况下需要,例如静态链接或某些移动和嵌入式目标。对 Qt 许可证的恐惧不应阻止合理选择。

28.5 “新工具总是更好”

Slint、Iced、Xilem、Lynx 很有趣,但带有生产风险。适合原型和副业项目。对于关键业务产品,选择至少有五年历史的工具更安全。


二十九、真实迁移故事:什么有效,什么痛苦

29.1 Linear Desktop:评估从 Electron 迁移到 Tauri

据报道 Linear 在 2024 年评估过迁移到 Tauri。结论是“暂时留在 Electron”。原因:Electron 在 macOS Apple Silicon 上运行得出乎意料地好,而迁移的人力成本高。

29.2 KakaoTalk Desktop

长期以来它是自研 C++ 客户端,2020 年代初切换到 Electron。结果喜忧参半——UI 更新更快,但不少用户抱怨内存消耗变大了。

29.3 Cap Screen Recorder

从第一天起就基于 Tauri 2 构建。构建体积 12 MB,在 Apple Silicon 上很轻。是 Tauri 的旗舰案例之一。

29.4 1Password 7 到 8

1Password 7 是原生应用,8 代转向 Electron 基础。决策是为了代码共享和功能迭代速度,但一些 macOS 用户仍然觉得老版本体验更好。这是 Electron 代价的清晰例证。


三十、结论:你的首要优先级是什么

五分钟决策指南:

  1. 团队语言是最强过滤器——一旦确定,候选方案就减少一半。
  2. 移动端共享代码库是第二个过滤器——如果强制要求,范围缩小到 Tauri 2、Flutter、Compose、MAUI 和 Lynx。
  3. 包体积和内存上限是第三个过滤器——如果用户倾向于低配置 PC,Electron 是最后选择。
  4. 系统集成深度是第四个过滤器——如果托盘、通知、快捷键、菜单栏都必须是一等公民,答案是 Electron、Tauri 或 Qt。
  5. 许可证和预算是第五个过滤器——根据公司情况,Sciter 或商业 Qt 许可可能是理性选择。

五个问题通常能把范围缩小到 1–3 个候选方案。接下来用 30 分钟做一个概念验证——确认启动时间、构建速度和打包简便性是否真的如宣传所说。

“最好的跨平台桌面框架是什么”是错误的问题。“对我们团队来说合理的三个工具是什么”才是真正的问题,而本文就是帮你快速找到答案的地图。


参考资料

  • Electron 官方:electronjs.org
  • Electron 发布说明:github.com/electron/electron/releases
  • Electron 34 更新:electronjs.org/blog/electron-34-0
  • Tauri 官方:tauri.app
  • Tauri 2.0 公告:tauri.app/blog/tauri-20
  • Tauri Updater:tauri.app/v1/guides/distribution/updater
  • Wails 官方:wails.io
  • Wails v3 alpha:v3alpha.wails.io
  • NeutralinoJS 官方:neutralino.js.org
  • Flutter Desktop:docs.flutter.dev/platform-integration/desktop
  • Sciter 官方:sciter.com
  • Slint UI:slint.dev
  • Iced:iced.rs
  • Xilem GitHub:github.com/linebender/xilem
  • egui 官方:egui.rs
  • GTK 官方:gtk.org
  • Qt 6.8 LTS:qt.io/blog/qt-6.8-lts-released
  • Avalonia 11:avaloniaui.net
  • .NET MAUI:dotnet.microsoft.com/apps/maui
  • SwiftUI on macOS:developer.apple.com/documentation/swiftui
  • Lynx:lynxjs.org
  • WebView2:developer.microsoft.com/microsoft-edge/webview2
  • electron-builder:electron.build
  • Sparkle:sparkle-project.org
© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容