SuperAPI AI 工具集

software-desktop

编程与开发

查看项目

更新于 10-16 04:20

技能介绍

用途

该技能面向桌面应用开发,用于在新建或审查桌面应用时提供架构、安全与分发方面的指导。它覆盖跨平台与原生桌面应用的构建,包括技术栈选择、代码签名与公证、自动更新配置,以及 Electron/Tauri 安全审查。

主要能力

  • 框架选型:提供决策树,覆盖 Electron、Wails、Avalonia、Tauri、Flutter Desktop、.NET MAUI、Compose Multiplatform、SwiftUI、WPF、WinUI 3、GTK、Qt 等。
  • 先决判断:在选框架前先评估是否真的需要桌面应用,还是 PWA 即可满足需求。
  • Electron 架构与安全:说明主进程/渲染进程模型、preload 与 contextBridge、类型化 IPC,以及强制安全默认值(contextIsolation: true、nodeIntegration: false、webSecurity: true、sandbox: true),并列出反模式。
  • Tauri 架构:Rust 后端命令、能力范围权限(Tauri 2 权限系统)、插件系统、sidecar 模式,以及相对 Electron 的安全优势与权衡。
  • 桌面特有功能:文件系统访问、系统托盘、原生菜单、协议处理器、文件关联、拖放、离线优先存储。
  • 分发与更新:各平台签名与公证(macOS notarytool、Windows Authenticode、Linux 信任模型)、安装包工具(electron-builder、Tauri bundler、create-dmg、Inno Setup、NSIS、AppImage/Flatpak/Snap)、自动更新工具链(Tauri updater、electron-updater、Electron 内置 autoUpdater、Sparkle 2)。
  • 更新恢复门槛:要求在上一个已签名构建可恢复(下载失败、签名拒绝、启动崩溃、数据迁移不兼容)后才视为生产可用。
  • 脚本与参考:scripts/check_signing.sh(macOS 签名与票据校验)、scripts/check_signing_readiness.py(CI 前静态 schema 检查)、references/tauri-2-migration.md、references/framework-selection.md、references/desktop-integration.md、references/distribution-and-signing.md、references/platform-traps.md。

使用方式

工作流为:确认平台范围、原生集成需求、分发目标与团队约束;若核心问题不是桌面则路由到相邻技能(web-only 前端、移动、CLI、系统设计、安全审计);从决策树选择框架与打包方式;应用对应架构、分发、更新与安全指导;在给出最终建议前通过导航来源核实当前签名、公证与平台政策细节。

适用场景

  • 为新桌面应用选择框架。
  • 以正确的安全与 IPC 模式构建 Electron 或 Tauri 应用。
  • 实现桌面特有功能(文件系统、托盘、原生菜单、协议处理器、拖放)。
  • 搭建代码签名、公证与安装包流水线。
  • 为桌面应用添加自动更新。
  • 审查桌面应用架构或安全态势。
  • 从 Electron 迁移到 Tauri 或评估其取舍。

限制

不适用于纯 Web 前端(SPA、SSR、静态站点)、移动应用(iOS、Android、React Native)、CLI 工具与开发者实用程序、系统架构与服务拆分、安全审计与威胁建模。Electron 到 Tauri 的迁移更接近重写而非重构。Tauri 在 Linux 上依赖 WebKitGTK,存在发行版打包差异风险;WebKitGTK 2.52 于 2026 年 3 月移除 libsoup2 支持。.NET MAUI 没有第一方原生 Linux 桌面目标。EU Accessibility Act 是否适用属于合格法律顾问的问题。部分基准数据(安装包大小、空闲内存)在资料中标注为未经验证,需自行测量。