0

大家,也许在很多场合你都遇到过在visual studio中开发了许多winforms应用程序的人。好吧,就我而言,我有一个在winforms环境中制作的相当完整的系统,我需要将它转移到网络上,因为客户改变了他的整个团队以使用mac。有人有一个建议,因为我不想从头开始重新编程所有东西。我也没有让客户安装虚拟机来打扰他。

提前感谢您的任何建议

4

3 回答 3

1

将 Winforms 转换为 ASPX aka Webforms?可能不是一个好主意:Webforms 已停产。我更喜欢基于 ASP.net Core 构建的 Blazor。具有出色的界面性能。

于 2021-06-30T18:48:02.153 回答
0

你没有太多选择。这实际上归结为两个具有 VAST 不同架构的系统。

即使在桌面上?您不能再将复杂的 FoxPro 应用程序转换为 vb.net。或者将 ms-access 系统转换为 FoxPro。根据给定的工具集,如果不是 1000 多个小设计选择,它们都会从头开始构建。

这有点像汽车和飞机之间的区别。它们都是运输机器。但即使是座位之类的东西。一个(汽车)可能有大而舒适的座椅 - 电动辅助倾斜等。目标是舒适,并且该座椅的所有空间和重量的总和并不是设计目标那么大。

现在,以飞机座位的设计为例。它必须更轻、更薄,可能使用更多的防火材料。因此,沿途有 100 种(如果不是 1000 种)小型设计选择将导致该汽车或飞机的座位。

它只是一个座位,对吧?那么,既然桌面和网络之间的架构很像汽车和​​直升机之间的区别?那么用于创建该桌面应用程序的 100 条(如果不是 1000 条)设计标准中的很少一部分将不适用,因此无法挽救工作。

但是,如果您使用 WPF 代替桌面应用程序的 win 表单?然后您可以节省更多,因为 Web 应用程序和桌面应用程序都将具有用于创建相关表单/显示的“标记”。

事实上,这是开发人员选择 WPF 而不是 winforms 的原因之一。(它允许更轻松地迁移到网络)。对于那些来自网络开发的人?他们会发现 WPF 表单和布局与他们进行 Web 开发的方式非常相似。

另一个原因当然是现在有了 css、HTML5 和一大堆其他 Web 新事物?好吧,那么 Web 开发人员现在实际上拥有比桌面更多的 UI 选择!因此,WFP 试图将许多/大部分基于 Web 的新技术用于桌面开发。那么虽然winforms不支持按钮中的图形?WPF 确实支持这一点 - web 也是如此。

但是,请问任何 WPF 开发人员?WPF 桌面应用程序的成本+时间是一项更多工作。基于网络的创建也是如此。一些人声称他们可以使用桌面的 WPF 应用程序以同样快的速度开发——这不是我所看到的——甚至不能接近!与台式机相比,您发现 Web 的成本高达 2 倍,通常是 3-5 倍。

现在因为几台Mac而需要一个巨大的应用程序并重新编写?嗯,这太疯狂了。您将设置终端服务,并让那些 Mac 使用远程桌面来运行该应用程序。因此,Mac 不需要 VM 或任何东西。

但是,没有自动转换系统,就像汽车的零件、套件和车门一样?他们不工作也不适合直升机。架构的太多差异在这里起作用。

我想这将取决于现有应用程序的大小、范围和估计成本。但是要允许在家(远程)的工作人员,在路上的人,以及允许 Mac 使用该软件?我不明白为什么终端服务不是一个解决方案 - 并且可以在不到 1 天的时间内设置,而不是对给定应用程序的整个重写(在几台 Mac 上运行? - 怀疑可以证明重新-写)。

于 2021-03-24T15:30:56.343 回答
0

如果您要问如何利用您多年来编写的代码来创建基于 Winform 的丰富用户体验并使其适应网络,那么您会感到失望。

您可以期望的最好的结果是在现有应用程序中对关注点进行如此干净的分离,这样您就可以挽救所有不依赖于 UI 的代码并在全新应用程序的后端使用它。其他一切都必须从头开始重写。

如果您的客户仍想在 Mac 环境中使用基于 Winform 的应用程序,他将不得不使用 VM。

于 2021-06-30T19:11:15.370 回答