【问题标题】:Delphi Application over the web网络上的 Delphi 应用程序
【发布时间】:2011-10-24 08:46:06
【问题描述】:

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

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

我做了一些研究,发现使用 uniGUI 是可能的。

http://www.unigui.com

结论:可以做到,但需要重新编写,并且仅支持部分组件。仍然存在严重的问题是 Web 环境中的单体应用程序结构。

还有两个选项 morfikatozed,它们也需要重写。

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

【问题讨论】:

  • elevatesoft.com/products?category=ewb 添加到您的潜在解决方案列表中。
  • @mj2008 我已经检查了 elevate web builder。它还没有发布。不管怎样,谢谢你的好建议。
  • 考虑构建一个真正的 Web 应用程序,它使用一些为您提供中间层功能(remobjects sdk、datasnap 或其他一些 RESTful 架构)的工具包与 delphi 中间层通信。

标签: delphi web-applications delphi-2007


【解决方案1】:

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

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

【讨论】:

  • 谢谢戈莱兹。问题是我们的应用程序很大并且业务逻辑嵌入在 GUI 中:(所以我认为要么我们必须重写整个应用程序,使业务逻辑和数据访问层与 GUI 完全分离。
【解决方案2】:

由于这里没有“灵丹妙药”,因此您使用哪种产品并不重要。你对他们中的任何一个都有同样的挑战。我建议花几天时间对 2-3 个典型屏幕进行概念验证 (PoC) 重写。为每个“入围”产品实施 POC,看看它是如何工作的。跟踪每一项所花费的时间、更容易/更难的事情,以及最终结果对最终用户的看法(性能、美观/有趣、稳健性、“感觉”)。

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

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

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

请注意,这种类型的工作非常适合外包,因为工作简单明了,要求也很简单。特别是如果它可以一次交付一种形式,那么进度、时间线和 $$$ 可以小块衡量。

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

【讨论】:

    【解决方案3】:

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

    正如 Golez 所说,您将不得不重构您的应用程序,尝试将您的业务逻辑与 GUI 分离,然后您可以使用诸如 Intraweb 之类的一些工具将 GUI 开发为 Web 并重用现有的业务逻辑。

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2012-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-24
        • 1970-01-01
        相关资源
        最近更新 更多