winui vue
很难选择Windows UI框架。 毕竟,有很多。 您是否使用熟悉的WinForms,更现代的Windows Presentation Framework或Windows 10的Universal Windows Platform构建应用程序?
每个控件都有其优缺点,它们具有不同的控件集,设计工具和受支持的Windows版本。 它们支持不同的设计语言,仅通用Windows平台(UWP)控件提供对最新Fluent外观的支持。 微软一直在努力通过XAML Islands等工具将新的Windows 10 UWP控件移植到较旧的框架中。 它们是一个不错的选择,但仅限于在Windows 10上运行。
Windows UI的新方法
真正需要的是一种全新的方法来交付Windows UI组件和控件,该方法与底层OS分离,并且能够在Windows 10以上版本,老版本和Web等其他平台上提供相同的功能。 毫无疑问,作为WinUI控件库的一部分,该项目已经进行了一段时间。 Windows UI库的早期版本专注于UWP和Fluent Design。 下一个重要版本 WinUI 3.0将最终退出UWP框架, 在2020年某个时候支持整个本机Windows UI平台 。
微软最近发布了WinUI 3.0的Alpha版本 。 它绝不是完整的,缺少许多流行的控件。 但是,这是从新控件以及安装和使用新控件的方式开始的好地方。 作为Alpha代码,它尚未准备好投入生产,但仅供您尝试并向开发团队提供反馈。
使用WinUI 3.0 alpha版本
WinUI 3.0的入门非常容易,因为Microsoft在GitHub上具有XAML Controls库的WinUI 3.0预览版的代码。 您可以克隆存储库并构建示例应用程序以查看可用的控件。 该示例确实需要最新版本的Visual Studio(我建议使用Visual Studio 2019)和Windows 10 1803或更高版本。 如果您正在使用C ++代码,则需要为.NET Desktop和UWP开发配置Visual Studio,以及等效的C ++工具。 最大的变化可能是迁移到新的命名空间:从Windows.UI到Microsoft.UI。
我能够在几分钟内启动并运行示例代码 ,使用Git bash工具克隆示例应用程序的WinUI 3.0 Alpha分支,然后在Visual Studio 2019 Community Edition中进行编译。 加载后,您将获得可用控件的列表,单击它们会显示示例代码以及控件的渲染实例。 这是查看可用控件以及如何在应用程序中使用它们的好方法。 缺少的控件显示为灰色,因此您可以查看未来版本的计划。
通过注册WinUI 3.0 alpha ,您可以访问Visual Studio扩展,该扩展添加了新的WinUI 3.0特定模板。 如果要构建新的WinUI应用程序,则非常值得安装,因为它使您开始使用运行时组件的模板以及.NET和C ++的空白应用程序。 如果找不到您要使用的所有控件,请不要担心。 这只是一个alpha版本,一些通用控件尚未为新框架重写。 随着2020年某个时候的发布,他们还有足够的时间来发布将来的alpha和beta版本。
将用户界面与Windows分开
WinUI过渡中最重要的部分也许是UI控件与其余Windows SDK的分离。 这是一项重要的更改,它使我们最终可以从底层操作系统中单独更新UI控件,甚至允许社区将其作为开源项目的一部分进行处理。 这是一个令人惊讶的大转变,将UI从Windows转移到了NuGet。 今天,如果列表框控件中存在错误,我们必须等待下半年半年的Windows更新来进行修复。 使用WinUI 3.0,我们将能够从NuGet下载更新的控件,重建我们的应用程序,然后发布更新。
UI与Windows SDK其余部分的分离应该使更新SDK的其余部分更加容易。 如果WinUI可以成功过渡到NuGet,则很显然,我们可以逐步开发Windows SDK的更多元素,并在相同的过程中发送它们。 这应该有助于推动.NET Core和将来的.NET 5.0在Windows应用程序开发中的采用,从而使其能够在Windows开发时间表之外发展。 Windows的新版本始终需要Windows SDK的新版本,但是没有理由不应该在半年周期之外继续发展,修复错误并添加新的API和功能。
通过WASM跨平台
微软为WinUI 3.0制定了宏伟计划。 尤为重要的是, 它与构建Uno Platform Web程序集控件的团队建立了合作关系 ,后者承诺使用WinUI 3.0控件库的浏览器托管版本。 随着Microsoft承诺将其新的基于Chromium的Edge浏览器的版本交付回Windows 7,以及在Linux和macOS上,您将能够使用这些控件以及Blazor的.NET Web程序集实现来交付WinUI 3.0所有其他平台的应用程序。
交付跨平台的,向后兼容的 (在一定程度上)WinUI是明智的一步。 我们生活在一个用户可以选择并且计算是异构的世界中。 如果开发人员想要最大范围的发展,那么我们需要像这样的工具,这些工具不仅可以跨现代.NET实现交付,还可以通过任何可用的方式交付给较旧的平台。 将WebAssembly用于WinUI非常有意义,因为它是真正的跨平台UI环境。
即使我们只有alpha版本,这里也有很多喜欢的东西。 WinUI 3.0工具是熟悉且易于使用的,可轻松将现有的UWP代码移动到新的UI框架。 对C ++ Win32应用程序的支持将为您提供将Fluent Design引入WPF或WinForms代码的机会,而无需跳过XAML Islands圈。 有了很多的希望,很难等待2020年和全面上市。
翻译自: https://www.infoworld.com/article/3453027/winui-30-the-future-of-windows-controls.html
winui vue