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扯上关系。

早先预览版中对UWP的支持描述已踪迹难寻,可以理解为缩小了支持的范围,集中精力Make Desktop Great Again!根据当前版本的使用体验,有两点值得注意。首先就1.0的版本而言,仍有诸如CameraCaptureUI,InkCanvas和PrintManager等在UWP时代颇为实用的组件没有替代品。其次就是Win10 1809+的版本限制,可以想象对跑在Win7甚至更老系统上的软件而言,升级近似完全重写。
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系统,就选择WindowsAppSDK-Installer-x64,双击后会自动完成安装。

在完成以上准备后,在VS2022中创建Blank App, Packaged(WinUI 3 in Desktop)工程。完成后如下图,经历过UWP DesktopBridge创伤的同学可能会发现,即使是Packaged App,也不再需要额外的Packaging Template工程了。简洁单一的解决方案界面让人心情愉悦很多。

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

<WindowsPackageType>None</WindowsPackageType>

最后一步则是在开始Debug的下拉列表中,选择Unpackaged启动配置文件。至此我们的第一个使用Windows App SDK的exe程序就做好了。点击开始Debug的按钮或按下F5即可成功运行。

故名思意Unpackaged App我们可以直接在设置的Output目录,或者Publish目录通过双击exe的方式运行。如下图所示,在成功发布之后,即可复制整个publish目录到其他Win10 1809+的机器上运行。

美中不足当前版本会在pulish目录包含大量的Dll文件。同时运行exe程序的机器也需要安装Windows App SDK Runtime。恍惚间又回到了二十年前在XP安装.NET Runtime的场景,历史真是一个轮回。

面向次世代的Windows App SDK 近况的更多相关文章

  1. New Windows 10 SDK - Multi-instance UWP apps

    概述 前面一篇 About Windows 10 SDK Preview Build 17110 中,我们简单介绍了 Multi-instance UWP Apps,今天结合开发过程详细讲解一下. 在 ...

  2. 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)

    相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲 ...

  3. 使用 Portable Class Library(可移植类库)开发 Universal Windows App

    今天在这里跟大家聊聊关于 Windows Universal 应用夸平台的问题,首先Universal Windows App的定义相信大家已经有所了解了(如果你是一个刚刚接触 Universal A ...

  4. About Windows 10 SDK Preview Build 17110

    在 Windows Developer Day 活动同时,微软正式 Release 了 Windows 10 SDK Preview Build 17110. Windows 10 SDK Previ ...

  5. New Windows 10 SDK - Toast Notification

    概述 Toast Notification 在 UWP App 中有很重要的作用,能够很大程度上增强 App 和用户之间的沟通,比如运营推广活动.版本更新.提醒类任务提示等等.Toast Notifi ...

  6. Windows10开发手记-Windows App Certification Kit使用教程

    最近有同学通过MVP的渠道询问我Windows 10应用提交审核前是否有工具能够像win7一样做App兼容性测试,其实Windows SDK已经继承了一套优秀的App测试认证工具,这可以帮助我们快速通 ...

  7. 无责任Windows Azure SDK .NET开发入门(二):使用Azure AD 进行身份验证

    <編者按>本篇为系列文章,带领读者轻松进入Windows Azure SDK .NET开发平台.本文为第二篇,将教导读者使用Azure AD进行身分验证.也推荐读者阅读无责任Windows ...

  8. 修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失

    原文 修复Windows 10 SDK 17763中NavigationView上的AcrylicBrush丢失 Microsoft发布了新版本的Windows 10 UWP SDK Build 17 ...

  9. 不可或缺 Windows Native (25) - C++: windows app native, android app native, ios app native

    [源码下载] 不可或缺 Windows Native (25) - C++: windows app native, android app native, ios app native 作者:web ...

随机推荐

  1. 【LeetCode】66. Plus One 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 数九 采用进位 日期 [LeetCode] 题目地址 ...

  2. 【项目管理】《IT项目管理》Kathy Schwalbe 第2章 IT项目管理和IT背景

    1.对项目管理采取系统的观点有何意义?如何在项目管理中采用系统的观点? 意义:有效处理复杂的环境 采用系统方法,系统分析,系统管理.2.解释组织的四个框架.他们是如何帮助项目经理理解项目的组织环境的? ...

  3. ADVERSARIAL EXAMPLES IN THE PHYSICAL WORLD

    目录 概 主要内容 least likely class adv. 实验1 l.l.c. adv.的效用 实验二 Alexey Kurakin, Ian J. Goodfellow, Samy Ben ...

  4. 低成本CH7511芯片方案|CH7511电路设计参考|CS5211替代CH7511

    CH7511是主要用于设计eDP转LVDS转换器,怎么样设计一款低成本低BOM简单的DP转LVDS的转接设置,目前有一款可以替代兼容CH7511的方案电路,并且其设计电路整体BOM成本较低,并且设计简 ...

  5. 使用PyTorch构建神经网络模型进行手写识别

    使用PyTorch构建神经网络模型进行手写识别 PyTorch是一种基于Torch库的开源机器学习库,应用于计算机视觉和自然语言处理等应用,本章内容将从安装以及通过Torch构建基础的神经网络,计算梯 ...

  6. yum 下载安装包以及依赖包

    有时候我在用yum安装软件,依赖包比较多,还受网速的影响.所以我们可以将安装包以及依赖包下载到本地安装,这样会快捷很多. yum 提供了这种功能 yum -y install yum-utils 下载 ...

  7. hexo 升级5.4.0出现错误解决方法-hexo-theme-butterfly

    本篇文章已同步个人博客,可移步食用.hexo 升级 5.4.0 出现错误解决方法 -hexo-theme-butterfly 周末升级了下 hexo 到新版本,发现升级后,构建时出现了一些错误,以下是 ...

  8. Shell 中的 expect 命令

    目录 expect 介绍 expect 安装 expect 语法 自动拷贝文件到远程主机 示例一 示例二 示例三 示例四 expect 介绍 借助 expect 处理交互的命令,可以将交互过程如 ss ...

  9. [ bootstrap ] 实现卡片里面包含图片、内容、操作按钮,形成左中右的布局

    描述: 如图 实现: <div class="card border-0 mb-3 mt-3"> <!-- 列表头部 --> <div class=& ...

  10. dispatcher-servlet.xml文件配置模板

    完整代码如下: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/ ...