0

我有一个控制台应用程序,它可以完成一些数据库管理工作,直接连接到它们。它适用于MsSqlServer和Oracle(现在)。Windows Universal App适合我吗? - 用户界面迁移

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

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

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

我应该尝试用WPF(它与SQLSERVER连接工作?)?的WinForms?如果他们放弃对WPF或WinForms的支持,就好像他们将使用WebForms一样?

通缉UWA因为它看起来非常好,MS使它看起来就像是“要走的路。”

任何想法?

更新1

所以,有些人说我可以使用网页API或中间层,可以处理所有的任务,这样我可以避开西澳大学的限制性。 这不是一个坏主意,我也想过这个。即使我认为我可以为任务和Web UI提供服务,这样它就可以从任何设备访问。但难以部署在私人/企业的神经。

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

于是,经过一番thinkning发现(可能)一些中等水平的答案是:我将研究哪些项目可以帮我做与Windows和其他系统的原生集成。由于电话和平板电脑可能已经超出了我的目标,那么至少我会针对linux和mac os。

认为他们是做这个工作,这个新的.NET版本将是OSS也多。要检查出来,并保持这个帖子更新,以防其他人感兴趣。

更新2

现在我真的想在中间层上,但它会使其更加复杂和较长的开发:(

为此,我需要:我的核心库,一个窗口服务或某种工作/任务服务,前端可能HTML5消耗一定的WebAPI。

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

+2

*“UWA是桌面应用程序的新方法吗?”*不。他们是“一次编写,在任何Windows设备上运行”应用程序的新方法。事实上,相当新的;这是以前不可能的。但他们当然不会取代桌面应用程序。你会想要在手机或平板电脑上运行这个数据库管理应用吗?如果没有,那么瞄准西澳大学就没有多大意义。 –

+0

我是一个Windows手机用户,所以是的,这是我的看法。但不是你知道的优先事项?此软件主要部署脚本,但也检索一些数据库健康状态和信息,我想在我的手机或平板电脑上。你怎么看?我去winform? 我知道我会放弃手机和平板电脑支持的想法,我认为IT应用使用UWA还为时尚早。 –

+0

它们可能是启动应用程序的好方法......但我认为应用程序开发的未来是带有MVVM前端的WebApps(Aurelia,Angular 2) –

回答

0

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

+0

感谢您的回复,请阅读我对这个想法的评论。 谢谢 –

+0

@JuanCarlos我想说的是b.pell。使用WPF处理所有繁重的工作,并使用UWP通过API显示数据,您可以将API放在数据库所在的同一台计算机上(或其他位置),然后使用JSON将数据发送给您的UWP。 – ganchito55

+0

当然,这个解决方案也适用于我,但是你不觉得它太复杂了吗? 只需要有一些性感的按钮和列表。问题WPF会这样做,但是我只是不想改变平台,一旦MS离开它并瞄准100%西澳大学。 正在检查QT,但不能免费使用商业软件。 –

3

要回答你的问题,他们不支持UWA应用程序中的很多System.Data功能,并且你不能使用像DataTable或DataReaders这样的方便工具(即使Sqlite实现的UWA没有DataReader可以让您在事先不知道模型的情况下获取动态数据。

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

我看你的选择是:

  1. 创建一个中间层的地方,做了数据访问的,并公开你决定什么味道,应该是一个API的应用程序UWA。
  2. 如果您想在界面中使用XAML,但UWA限制太多,请创建一个WPF应用程序,让您拥有完整的框架供您随心所欲地进行操作。这意味着您可以使用以前使用的所有.Net库(如SqlServer和Oracle ADO.Net提供程序)。
  3. 使用WinForms,仍然有效,对高DPI应用程序不那么友好(但并非不可能)。根据微软的说法,WinForms是“成熟的”。他们没有得到很多新功能,但他们很快就不会去。与WPF一样,您也可以在没有UWA限制的情况下使用完整的框架。
+0

1)是的,我正在考虑这个问题,但是中间层会坐在哪里?不可能是本地的,必须是位于其他地方的服务(可以是本地的,但你知道我的意思)。 2)可能要这样。 3)完全明白。 –

+0

你在问正确的问题。如果您不必通过Windows Store进行分发,那么对我来说就像WPF/WinForms对您变得有吸引力。如果它是你自己的一个实用程序,你不一定需要中间层的开销(我的例子会和你提出的例子类似,SQL Server Management Studio是否仅限于UWA API并使用中间层?答案是否定的,不)。 –

+0

@ b-pell同意!!! –