Winforms 正在消亡,使用 XAML 和它的设计者就像拔牙一样。 现在怎么办?

Winforms 正在消亡,使用 XAML 和它的设计者就像拔牙一样。 现在怎么办?

除了已经有很多解决方案之外,我最近问了自己这个问题。

对于客户,我需要替换整个工厂的旧 VB6 应用程序。

网络不是一个选项,因为我需要与机器上的硬件进行通信(尽管现在我们正在研究它,这似乎不再是问题……)。

无论如何,一个明显的竞争者是 窗体,但正如你所说,那正在消亡。

微软将 WinForms 移植到了 .NET,所以它实际上还没有消亡,但我希望新软件是现代的。

那么那么 WPF(Windows 演示基础) 可能是逻辑上的后继者,因为它也被移植到.NET。

然而,WPF 是 XAML,正如您所说,这就像拔牙一样。

因此,我们会在一个最近才移植的旧框架中拔牙,以让一些脾气暴躁的老开发人员高兴(我猜)。

我见过 UWP(通用Windows平台) 这里提到过,但微软已经正式放弃了对它的支持,所以这甚至不再是一个选择!

然而,UWP 在幕后使用了 WinUI 2,并且 用户界面3 是仍受支持的官方继任者。

它是 XAML,但至少它是现代的!

看看 Microsoft 堆栈之外,我们有更多基于 Web 的解决方案,例如 扑 和 欧诺平台。

有两个对我来说很突出,它们分别是 Flutter 和 Uno 的真正替代品, 电子 和 阿瓦洛尼亚用户界面。

Visual Studio Code 是使用 Electron 构建的,因此您可以了解它的功能和外观。

它使用基于 Web 的技术,例如 HTML、CSS 和 JavaScript,并以某种方式将它们编译(?)为跨平台桌面应用程序。

Avalonia UI 使用 XAML(事实上,它被认为是 WPF 的精神继承者),但也生成跨平台桌面应用程序。

如果您选择 Avalonia UI 或 Uno,Avalonia 显然是赢家,在 GitHub 上拥有更大的社区。

另外,Avalonia 团队拥有来自 WPF 团队的(前)开发人员!

我对这些技术的问题是,虽然它们看起来很有效并且看起来很棒,但它们不是本机应用程序,这意味着它们自己进行绘图,而不是将其留给操作系统。

结果是,它们看起来和感觉起来根本就不是桌面/Windows/Apple 应用程序。

最终,我去了 .NET 已修复。

.NET MAUI 是 Xamarin 的继承者,Xamarin 当然是一个移动框架。

然而,.NET MAUI 可以创建在移动和桌面上运行的跨平台应用程序!

至少在理论上是这样,因为在实践中你将面临很多挑战。

.NET MAUI 与 Xamarin 一样,也使用 XAML。

那么我为什么选择 .NET MAUI?

我们目前仅针对 Windows,对于 Windows,它编译为 WinUI 3,这是本机 Windows 应用程序。

WinUI 3 有更多选项,因为它不必也适用于移动设备,但 .NET MAUI 是最新最好的,我已经预见到将来也会有一些移动工作。

也就是说,.NET MAUI 也有点赌博,因为微软似乎没有很好地更新它,并且对于 .NET 7 中的一些严重错误只是说“你必须等到 .NET 8,因为我们不会为 .NET 7 修补 .NET MAUI。”

因此,许多 Xamarin 开发人员尚未接受 .NET MAUI,而是正在寻找替代方案。

到目前为止,它对我们来说看起来相当不错,我只是希望微软和社区能够更多地接受它。

最后但并非最不重要的一点是,您可以使用 .NET MAUI 与 Blazor,它允许您在桌面上的 .NET MAUI shell 应用程序中运行 Web 应用程序(HTML、CSS 和 JavaScript 与 .NET 混合)。

这是一个认真的考虑,但坦率地说,我也不想被网络技术所困扰,而且它也不会编译为本机 Windows 应用程序。

今年早些时候我已经弄清楚了这一切,所以请将此视为我的研究总结。

[Add]

要回答如何处理 XAML 的问题,它与 HTML 没有什么不同,不是吗?

我猜只是吸吮它。

[/Add]

相关推荐

[其他]理性探讨一下魍魉副本自爆天赋
365bet手机版中文

[其他]理性探讨一下魍魉副本自爆天赋

📅 06-27 👁️ 788
智利为什么没有进世界杯
365防伪码查询系统

智利为什么没有进世界杯

📅 07-12 👁️ 3090
《心理罪》txt+epub+mobi全集
平板安卓office365破解版

《心理罪》txt+epub+mobi全集

📅 07-03 👁️ 6169
《散文·匆匆》简析
平板安卓office365破解版

《散文·匆匆》简析

📅 07-02 👁️ 4721