面向次世代的 Windows App SDK 近况

关注我们
(本文阅读时间:7分钟)
本篇文章梳理了 WinUI 3, Project Reunion 和 Windows App SDK 之间的关系 , 并详细介绍了如何创建 Windows App SDK 1.0 版中支持的 Unpackaged App 。
微软MVP实验室研究员
面向次世代的 Windows App SDK 近况
文章图片

邢政
微软全球最有价值专家 MVP
上一次当选 MVP 的时候 , Windows Phone 还活蹦乱跳的 。 曾经搞了段时间iOS , 后迷途知返重回某软的怀抱 。 如今在知名厂商卖电脑为生 , 人傻钱多可来一叙 。
想当初一入 .NET 深似海 , 现鬓角斑白 , 说不是真爱 , 怕别人也是不信的 。 间或在博客园和 Github 写些心得 。 坐标魔都 , 大龄程序员加游戏爱好者 , 廉颇老矣 , 尚能饭否?
Windows App SDK 1.0
Project Reunion 作为面向次世代 Windows App Development 的统一工具集 。 在2021年11月 , 第三个稳定版正式以1.0的版本号发布的同时 , 改名部果断出手 , 以全新的名称 Windows App SDK 迎接2022年以及 Windows 11 。
在某软推荐 UWP 开发者迁移到 Windows App SDK 之后 , 曾有一波“放弃” UWP 的新闻 。 其实在经历了 WPF , Silverlight , UWP 这些长得挺像(XAML)的 UI 框架后 , 开发者升级到 Windows App SDK 和 WinUI 3并不是一件很困难的事情 。 毕竟这凑齐了 XAML 的四样写法 , 写代码的事 , 能叫放弃么?空气中顿时充满了快活的味道……
下面谈谈 Windows App SDK 中绕不开的 WinUI 3 , WinUI 3 作为 Windows App SDK中最为核心和关键的部分 , 即下一代 Windows desktop app 开发的原生UI框架 , 包括托管C#和非托管的C++以及 Win32 API 。 可以理解为某软对过去二十年 desktop 开发技术的反思和集大成者 。
随着版本的迭代 , 当前 WinUI 3的定位较早先有了一些变化 。 和 WinUI 2专门为 UWP服务不同 , WinUI 3现在不想和 UWP 扯上关系 。
面向次世代的 Windows App SDK 近况
文章图片

早先预览版中对 UWP 的支持描述已踪迹难寻 , 可以理解为缩小了支持的范围 , 集中精力 Make Desktop Great Again!根据当前版本的使用体验 , 有两点值得注意 。 首先就1.0的版本而言 , 仍有诸如 CameraCaptureUI , InkCanvas 和 PrintManager 等在UWP 时代颇为实用的组件没有替代品 。 其次就是 Win10 1809+的版本限制 , 可以想象对跑在 Win7 甚至更老系统上的软件而言 , 升级近似完全重写 。
Unpackaged App
Windows App SDK 1.0非常有意思的一点 , 既是对 Unpackaged App 的支持 。 和之前无责任猜测的不同 , 这次对 Unpackaged App 的支持非常彻底 , 使用起来也很方便 。 Unpackaged App 不再通过 MSIX 格式打包上传商店 , 而是彻底回归到.exe或者.msi的安装方式 。
接着我们用VS 2022来创建久违了的exe程序 。 除了VS 2022以外 , 我们需要额外安装Windows App SDK runtime and MSIX packages 。
下载完成解压后 , 根据电脑的环境选择对应的安装文件 。 例如我是64位的Win11系统 , 就选择 Windows App SDK-Installer-x64 , 双击后会自动完成安装 。
在完成以上准备后 , 在VS2022中创建 Blank App, Packaged(WinUI 3 in Desktop)工程 。 经历过 UWP Desktop Bridge 创伤的同学可能会发现 , 即使是Packaged App , 也不再需要额外的 Packaging Template 工程了 。 简洁单一的解决方案界面让人心情愉悦很多 。
面向次世代的 Windows App SDK 近况
文章图片

然后让我们鼠标右键选择编辑工程文件 , 在工程文件编辑窗口中 , 添加Windows Package Type 节点并设置为 None 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。