Windows|Win11出世UWP却惨遭弃用!曾扛起微软生态大旗( 二 )


事实上,UWP尽管没有取得什么大成功,但它的很多遗产,却被继承了下来,这让Windows在此后的生态建设中,更加顺风顺水 。
就如文章一开头所提到的,微软将会把Windows开发的重心转向Windows App SDK和WinUI 3,但这两者又是什么来头呢?其实它们的构成,和UWP是脱不开关系的 。
在Win10时代,微软推行UWP,而UWP所用的控件和样式库则被称为WinUI 2 。WinUI 2和Windows 10 SDK集成,为UWP提供Windows UI控件以及其他UI元素 。
然而,WinUI 2却有仅仅适用于UWP开发,对于传统的Win32软件,它无能为力,无法为传统的Win32软件提供界面、样式更新 。
Windows|Win11出世UWP却惨遭弃用!曾扛起微软生态大旗
文章图片
如此一来,如果软件不转向UWP开发,那么即使更新版本,那么往往也只会使用WPF、MFC等比较老旧的开发工具 。软件不使用UWP开发,就无法用上WinUI 2,就没法跟上Windows系统的界面更新,这让Win10时代视觉效果极其割裂 。这个情况,在Win11时代似乎要得以改观了 。
在开发Windows 11的同时,微软也盘算起了整理软件开发生态的路子 。在去年的Build 2020开发者大会上,微软公布了“Project Reunion”,这是一套整合UWP和Win32开发的方案 。
微软试图通过Project Reunion,将Win32和UWP API与Windows 10脱钩,并将UWP中出厂的API提供给Win32使用,以 “弥合”两个平台之间的差距 。现在,Project Reunion已经取得了初步的成果,那就是新的Windows App SDK以及WinUI 3 。
Windows|Win11出世UWP却惨遭弃用!曾扛起微软生态大旗
文章图片
全新的Windows App SDK融合了传统Win32以及UWP应用关键技术,并使用 WinUI 3作为UI框架 。
此后,开发者为Windows开发软件,无论是开发Win32还是UWP,只要使用Windows App SDK,即可让软件用上新的界面——没有使用UWP重构的文件资源管理器得以翻新,就受益于此 。
需要注意的是,Windows App SDK并不会取代掉之前的Windows SDK或现有桌面Windows应用类型,例如 .NET(包括Windows窗体和WPF)和桌面 Win32等 。
而是使用一组通用API来补充这些现有工具和应用类型,开发人员可以在这些平台上依赖这些API来执行操作 。
换言之,Windows App SDK通过拓展更多的API接口,让Win32开发也如UWP一样标准化,让开发者可以轻松调用WinUI 3来构建新的软件界面 。为Win32软件开发新版,不需要将Win32软件重构为UWP,传统软件也能用上新界面了 。
未来Windows软件会如何发展?
那么问题来了,Win10时代开发者并不愿意使用UWP,在Win11时代大家就会拥抱Windows App SDK和WinUI 3吗?恐怕其中仍有一些疑虑 。
首先需要肯定的是,Windows App SDK的确解决了UWP力所不逮的一些问题 。
例如UWP应用功能受限,而Windows App SDK可以用于Win32开发,就减少了很多限制 。
Windows App SDK打破了软件开发在功能和API调用等方面的瓶颈,让Win32软件衔接最新Windows界面不再有功能方面的顾虑 。
但与此同时,Windows App SDK并没有解决UWP开发的很多问题 。
兼容性
UWP向后兼容到Win10 1703,而Windows App SDK的兼容性更差,只兼容到Win10 1809 。如果开发商打算让软件继续兼容Win7、Win8,那么必然不会选择Windows App SDK 。
Windows|Win11出世UWP却惨遭弃用!曾扛起微软生态大旗
文章图片
迁移成本
将老软件迁移到Windows App SDK,并不比将其重构为UWP简单,很多历史悠久的大型软件,已经累积起了稳定生态和客源,并不一定愿意做这方面的工作 。
成熟度
事实上,Windows App SDK才刚刚发布1.0稳定版,很多开发框架尚未稳定,也远称不上成熟 。
根据微软的规划,Windows App SDK在未来还会通过XAML Islands支持WPF、WinForms和其他带有WinUI3的应用程序,但这些规划是否能落实?微软砍刀部会不会再次大发神威?恐怕很多人会选择观望 。
当然,如果开发者迫切想要软件跟上Win11的节奏,或者想要让产品在Windows商店中上架,Windows App SDK还是颇具吸引力的 。
Windows App SDK提供了更多适配Win11新系统特性的接口,例如电源管理、应用窗口管理、进程周期管理等等,使用它来开发软件,在Win11上的运行效果肯定会比传统开发来得更好 。
Windows|Win11出世UWP却惨遭弃用!曾扛起微软生态大旗
文章图片
简而言之,Windows App SDK有其价值所在,它为Win32软件提供了适配新系统的开发方案,并整合了UWP 。


推荐阅读