Windows Universal App 適合我嗎?- UI 迁移

本文关键字:UI 迁移 Universal App Windows | 更新日期: 2023-09-27 18:37:27

我有一个控制台应用程序,可以执行一些直接连接到它们的数据库管理工作。它适用于MsSqlServer和Oracle(目前)。

你可能知道,使用控制台应用的效率不高。所以我想将 UI 部分移植到桌面应用程序。我将所有核心代码都放在一个库中,控制台应用程序只是管理用户交互。

我做了一些测试,不能在西澳大学使用库。然后尝试了共享库,令我惊讶的是,我不能直接使用 SqlServer。

UWA 是制作桌面应用的新方法吗?我不想先连接到服务,然后连接到数据库,这对用户应用程序有好处,但对我的软件的功能没有信心,我需要 100% 的直接连接。

我应该尝试使用 WPF 吗(它适用于 sqlserver 连接吗?)?赢形?如果他们放弃对WPF或WinForms的支持,就像他们对WebForms所做的那样怎么办?

想要西澳大学,因为它看起来非常好,而 MS 让它看起来像是"要走的路"。

有什么想法吗?

更新 1

所以,有些人说我可以使用可以处理所有任务的 Web API 或中间层,这样我就可以绕过 UWA 的限制性。这不是一个坏主意,我也想过这个。甚至认为我可以只为任务和 Web UI 提供服务,这样它就可以从任何设备访问。但更难在私人/企业工厂中部署。

我认为对于一个"简单"的工具来说,架构太多了。

因此,经过一番思考,(可能)找到了一些中级答案:我将研究哪些项目可以帮助我与Windows和其他系统进行本机集成。由于手机和平板电脑可能已经超出了我的目标,那么至少我将针对 linux 和 mac os .

认为他们正在开发的这个新的.Net版本将是OSS和多平台。去看看,并保持这篇文章更新,以防其他人感兴趣。

更新 2

现在我真的在考虑中间层,但它会使开发:(变得更加复杂和更长

为此,我需要:我的核心库,Windows服务或某种工作/任务服务,前端可能是html5消耗一些webapi。

对任务/作业服务器有什么建议吗?

Windows Universal App 適合我嗎?- UI 迁移

为了回答你的问题,它们不支持UWA应用程序中的很多System.Data功能,你不能使用像DataTable或DataReader这样的方便工具(即使是UWA的Sqlite实现也没有DataReader,这使得在你事先不知道模型的情况下很难获得动态数据)。

建议的方法是拥有一个可以调用的任何类型的中间层,它为您执行所有数据访问(该方法很好,但不适用于每个人的环境)。

我认为您的选择是:

  1. 在某处创建具有中间层的 UWA 应用,该中间层执行数据访问调用,并以你认为应该采用的任何风格公开 API。
  2. 如果你希望在 UI 中采用 XAML,但 UWA 的限制性太强,请创建一个 WPF 应用,在该应用中,你可以使用完整的框架来根据需要执行所需的操作。 这意味着您可能可以使用以前使用过的所有 .Net 库(如 SqlServer 和 Oracle ADO.Net 提供程序)。
  3. 使用 WinForms,仍然有效,对于高 DPI 应用程序不太友好(但并非不可能)。 根据Microsoft,WinForms是"成熟的"。 他们没有获得很多新功能,但他们不会很快消失。 您还可以像 WPF 那样在没有 UWA 限制的情况下提供完整的框架。

在我看来,您可以开发一个简单的API,然后可以使用UWP。使用此 API,可以获取统计信息数据,还可以调用脚本部署。