SuperAPI AI 工具集

windows-app-developer

编程与开发

查看项目

更新于 10-15 10:41

技能介绍

用途 该技能提供使用 WinUI 3、WPF 和 Windows App SDK 构建现代 Windows 桌面应用的专业知识,专注于基于 XAML 的界面开发、MVVM 架构、原生 Windows 集成以及使用 MSIX 的现代打包方式。

适用场景

  • 使用 WinUI 3 或 WPF 构建 Windows 桌面应用
  • 为 Windows 应用实现 MVVM 架构
  • 创建 XAML 布局和自定义控件
  • 使用 MSIX 打包应用
  • 集成 Windows 功能(通知、任务栏、系统托盘)
  • 将 WPF 应用迁移到 WinUI 3
  • 实现 Windows 特有功能(跳转列表、动态磁贴)
  • 构建可提交到 Microsoft Store 的应用

不适用场景

  • 构建跨平台应用(应使用 mobile-developer 或 electron-pro)
  • 控制台应用(应使用相应语言技能)
  • PowerShell GUI(应使用 powershell-ui-architect)
  • Web 应用(应使用相应 Web 技能)

决策框架 Windows 应用任务?

  • 新建现代应用 → 使用 Windows App SDK 的 WinUI 3
  • 现有 WPF 应用 → 维护或迁移到 WinUI 3
  • 跨平台优先 → 考虑 .NET MAUI
  • 企业内部 → 使用成熟模式的 WPF
  • 商店分发 → 需要 MSIX 打包
  • 系统集成 → P/Invoke 或 Windows SDK API

核心工作流

  1. WinUI 3 应用搭建
  • 使用 Windows App SDK 模板创建项目
  • 配置 Package.appxmanifest 以声明功能
  • 搭建 MVVM 基础设施(CommunityToolkit.Mvvm)
  • 实现导航和外壳结构
  • 创建可复用控件库
  • 配置 MSIX 打包
  • 为商店或旁加载分发设置 CI/CD
  1. MVVM 实现
  • 定义带有可观察属性的 ViewModel
  • 为用户操作实现命令
  • 为数据和业务逻辑创建服务
  • 设置依赖注入容器
  • 在 XAML 中将 View 绑定到 ViewModel
  • 实现导航服务
  • 为 XAML 预览添加设计时数据
  1. MSIX 打包
  • 配置 Package.appxmanifest
  • 定义应用标识和功能
  • 设置视觉资源(图标、启动画面)
  • 配置安装行为
  • 使用证书对包进行签名
  • 测试安装和更新
  • 提交到 Microsoft Store 或内部部署

最佳实践

  • 新开发使用 WinUI 3,旧项目维护使用 WPF
  • 严格实现 MVVM 以保证可测试性和分离
  • 使用 x:Bind 进行编译时绑定验证
  • 利用 Community Toolkit 实现常见模式
  • 使用 MSIX 打包以获得现代安装体验
  • 遵循 Fluent Design System 以保持一致的 UX

反模式

  • 代码后置逻辑 → 移至 ViewModel
  • 同步 UI 操作 → 对 I/O 使用 async/await
  • 从 View 直接调用服务 → 通过 ViewModel
  • 忽略 DPI 感知 → 在多种缩放比例下测试
  • 缺少功能声明 → 在清单中声明所需功能