Delphi在网络上的应用

A J*_*shi 4 delphi web-applications delphi-2007

可能重复:
建议使用什么Web应用程序框架?

我们有一个使用Citrix托管的Delphi 2007桌面应用程序.现在我们想摆脱Citrix并以某种方式通过网络启用它.

我做了一些研究,发现可以使用uniGUI.

http://www.unigui.com

结论:可以完成,但需要重写,并且只支持一部分组件.严肃的问题仍然是Web环境中的单一应用程序结构.

还有两个选项morfikatozed,他们还需要重写.

我想知道是否有任何其他选项需要更少的重写工作以及它有多脆弱?

请有人帮助我.

Gol*_*rol 6

它有多脆弱,取决于代码的质量.如果你有一个结构良好的应用程序,业务逻辑和数据访问与GUI完全分离,那么它将非常安全,尽管你仍然需要重写所有的GUI.如果表单中存在逻辑,并且与GUI组件对话的代码与检查输入并存储数据的代码交织在一起,那么您就会遇到大问题.

在这种情况下,这是一个很好的机会来重构你的应用程序的大部分,并且这次做得更好.;)


Chr*_*ton 2

由于这里没有“银弹”,因此您使用哪种产品并不重要。您与他们中的任何一个都面临着同样的挑战。我建议花几天时间重新编写 2-3 个典型屏幕的概念验证 (PoC)。为每个“入围”产品实施 POC,看看效果如何。跟踪每一项花费了多长时间,哪些事情更容易/更困难,以及最终结果对最终用户来说如何(性能、好看/有趣的外观、稳健性、“感觉”)。

至于实际重写,我建议如下:

  1. 重构现有应用程序以从 UI 中删除业务逻辑。
  2. 完整的回归测试,并将其投入生产。
  3. 现在继续转换为其中一种网络工具。

哎呀 - 我遗漏了一步。第 0 步:冻结所有功能/修复。如果需要对当前生产进行修复,则需要在单独的分支中完成,然后汇总到该项目中。

请注意,此类工作非常适合外包,因为工作简单且要求简单。特别是如果它可以一次交付一种形式,那么进度、时间表和资金就可以分成小块来衡量。

另一个初步步骤是开发一本“食谱”,用于从现有 GUI 层中剥离业务逻辑。它应该确定命名约定、公共库(对于应该一直共享但没有共享的代码),并且应该描述转换方法。