Delphi在网络上的应用

时间:2011-10-24 08:46:07

标签: delphi web-applications delphi-2007

  

可能重复:
  What Web Application Framework for Delphi is recommended?

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

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

http://www.unigui.com

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

还有两个选项 morfik atozed ,它们还需要重新编写。

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

请有人帮助我。

4 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:2)

由于此处没有“银弹”,因此您使用哪种产品并不重要。你遇到同样的挑战。我建议花几天时间重新编写2-3个典型屏幕的概念验证(PoC)。为每个“入围”产品实施POC,看看它是如何运作的。跟踪每一个人花了多长时间,更容易/更难的事情,以及最终结果对最终用户的影响(性能,好看/有趣,坚固,“感觉”)。

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

  1. 重新考虑现有应用程序以从UI中删除业务逻辑。
  2. 完整回归测试,并将其推向生产。
  3. 现在继续转换为其中一个网络工具。
  4. 哎呀 - 我离开了一步。第0步:冻结所有功能/修复。如果当前生产需要修复,则需要在单独的分支中完成,然后再汇总到此项目中。

    请注意,这种类型的工作非常适合外包,因为工作很简单,而且要求很简单。特别是如果它可以一次传递一种形式,那么进度,时间线和$$$可以用小块来测量。

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

答案 2 :(得分:1)

AFAIK,没有工具可以将您的桌面应用程序转换为Web应用程序,而无需重写大多数GUI部件。

Golez说,你必须重构你的应用程序,尝试将你的业务逻辑与GUI分开,然后你可以使用像Intraweb这样的工具来开发GUI作为web并重用现有的业务逻辑它

另一种选择是将您的应用程序转换为n层技术,并将您的业务逻辑作为Web服务或任何开放技术进行扭曲,并通过任何Web语言(如ASP.Net或PHP)使您的Web部署。

答案 3 :(得分:0)

取决于您希望应用程序如何“启用Web”。我使用Cybele Software(https://www.cybelesoft.com/)Thinfinity UI将应用程序扩展到Web,包括数据库应用程序。 它只需要安装他们的ThinFinity Server并向Proj源代码中添加一行代码,您便可以开展业务。 这些应用程序均在您的PC上运行。 好吧,也许我简化了一下,但是值得一看。 HTH。 问候, 伊恩