Windows Universal App适用于我吗? – UI迁移

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

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

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

UWA是桌面应用的新方式吗? 我不想连接到服务然后连接到数据库,它对用户应用程序有好处,但对我的软件所做的事情没有信心,我需要100%直接连接。

我应该尝试使用WPF(它是否适用于sqlserver连接?)? 的WinForms? 如果他们放弃对WPF或WinForms的支持,就像他们将要使用WebForms一样,该怎么办?

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

有任何想法吗?

更新1

所以,有些人说我可以使用可以处理所有任务的web api或中间层,这样我就可以解决UWA的限制问题。 这不是一个坏主意,我也考虑过这一点。 即使我认为我可以只为任务和Web UI提供服务,这样它就可以从任何设备访问。 但更难在私人/公司的工作中部署。

我认为这只是一个“简单”工具的太多架构。

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

想想他们正在研究的这个新的.Net版本将是OSS和多平台。 去检查它并保持这篇文章更新,万一其他人有兴趣。

更新2

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

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

关于任务/作业服务器的任何建议?

要回答你的问题,他们不支持UWA应用程序中的很多System.Datafunction,你不能使用像DataTable或DataReader这样的便捷工具(甚至UWA的Sqlite实现也没有DataReader使得获取如果您事先不了解模型,则很难获得动态数据。

建议的方法是拥有一个可以调用的中间层,它可以为您完成所有数据访问(这种方法很好但不适用于每个人的环境)。

我看到你的选择:

  1. 创建具有中间层的UWA应用程序,该中间层执行数据访问调用并以您认为应该具有的任何风格公开API。
  2. 如果你想在UI中使用XAML但是UWA限制性太强,那么创建一个WPF应用程序,你可以使用完整的框架随意做你想做的事情。 这意味着您可以使用以前使用过的所有.Net库(例如SqlServer和Oracle ADO.Net提供程序)。
  3. 使用WinForms,仍然有效,对于高DPI应用程序不太友好(但并非不可能)。 根据微软的说法,WinForms“成熟”。 他们没有获得很多新function,但他们不会很快到任何地方。 您还可以使用完整框架,不受WPF的UWA限制。

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