【问题标题】:Web application in DelphiDelphi 中的 Web 应用程序
【发布时间】:2010-11-13 10:02:57
【问题描述】:

我正在评估使用 Delphi (ISAPI/CGI/...) 编写 Web 应用程序的可能性。我仍然看不出有足够的理由使用 Delphi 而不是“经典”的 Web 开发框架。

如果您在此特定领域有经验,请分享您的意见。你会推荐 Delphi 而不是 PHP/Rails/ASP/...?你知道用 Delphi 编写的任何 Web 应用程序吗? (不是网络服务)

【问题讨论】:

    标签: delphi cgi isapi


    【解决方案1】:

    如果您将 Delphi 用于 Web 应用程序,您将获得以下好处:

    1. 与其他脚本语言相比的性能。
    2. 重用您的 Delphi 代码。
    3. 在出色的 IDE 中工作。
    4. 使用您最喜欢的语言 (Delphi)。
    5. 如果您使用 Intraweb,则无需深入了解 Web 或 JavaScript 即可获得内置的 Ajax 支持和生产性。

    但缺点:

    1. 部署并不容易,您需要使用 ISAPI 和 IIS,而且您很少找到为您提供 ISAPI 的托管公司。
    2. 仅限 windows 平台,(如果您使用 freePascal,您可能会得到其他平台)。
    3. 没有框架,没有库可以在这方面为您提供帮助。
    4. 这方面的文档很差,而且大部分文章都很旧。
    5. 与其他解决方案(如 Asp.Net)相比,使用 Webbroker 效率不高。
    6. 即使您使用 Intraweb,它也比其他解决方案更有效率,但不够灵活,因为它会将 Web 端隐藏在您身上。

    顺便说一句,Shareit 已将他们基于 PHP 的旧 Web 应用程序替换为使用 Delphi 和 Intraweb 构建的新 Web 应用程序。

    【讨论】:

    • 90% 同意。关于 Intraweb 我认为对于“Intrawebs”来说是一个非常好的解决方案。 Delphi Isapi 真正令人震撼的地方在于,将 ajax 与 JQuery 之类的 Javascript 框架结合使用。这种方式效率非常高,看起来非常接近传统的 delphi 编码。
    • 还有WebHub。我从来没有使用过 IntraWeb,所以我不知道它如何比较。我认为 ASP.NET 更好,但它比 PHP/RoR 更强大,PHP/RoR 太多“数据库和演示之间的薄壳”。
    • Intraweb 可以生成带有内置 Web 服务器的 exe,该服务器可以作为 Windows 服务运行。我有一个这样的 SQL 服务器后端,可扩展性很好,一次运行几个月没有问题。
    • 您是否有链接指向有关使用 Delphi 为他们的网站使用 ShareIt 的更多信息?
    • 比尔格,看看这个页面atozed.com/IntraWeb/Studies/Element5.EN.aspx
    【解决方案2】:

    一个原因可能是您的模型、业务逻辑或数据访问层是用 Delphi 编写的,您需要在 Web 应用程序中使用它。很难,您可以通过 dll 调用、COM、REST 或 SOAP 等其他编程语言使用您的模型、业务逻辑或数据访问层。那么这不再是使用 Delphi 开发 Web 应用程序的理由了。

    另一个原因可能是开发人员在 Delphi 方面非常出色,而在其他语言方面不太擅长。

    与 php、rails 和 asp 等解释型语言相比,使用编译型语言还可以提高性能。

    【讨论】:

      【解决方案3】:

      Delphi 有很多优点,但它的 Web 应用程序功能不属于 IMO 之列。这正是因为它生成了本机编译的代码。其中:

      1. 如果您不控制服务器(假设它由您的 ISP 托管),则几乎不可能安装本机编译的代码。我能想到的几乎所有网络主机都接受脚本语言。
      2. 存在一些与使用 ISAPI 应用程序中的 DLL 相关的特性。例如,当您使用 LoadLibrary 加载库时,当前文件夹为 C:\Windows\System32,如果您调用期望 DLL 驻留在当前文件夹中的现有代码,这会很方便。
      3. 较新版本的 IIS 还具有一些使它们不方便的安全功能。有一个“应用程序保护”设置必须设置为最低设置,并且所有批准的 ISAPI 扩展必须单独启用。在您与他人共享的服务器上,有很多潜在的灾难。

      Delphi Prism 可以提供更多功能,因为它可以完全替代 .NET 相关技术,包括 MVC 和 Silverlight。我已经在 C# 中完成了所有 Web 服务,如果我必须开始一个新的 Web 项目,Delphi Prism 或 Visual C# 将是我的选择。

      【讨论】:

        【解决方案4】:

        多年来,我成功地部署了几个商业应用程序,使用 Delphi 创建 ISAPI dll。我选择 Delphi 的理由很简单。我们是一家 Delphi 商店,通过选择 Delphi 作为我们的引擎,在浏览器端使用一些客户端 Javascript,大大减少了编码时间。所需的大部分功能是处理对后端数据库的调用,该数据库需要保持加密以减少可能接触机器人的风险。

        如果您决定走这条路,我强烈建议您使用idDebugger 工具来协助调试。它真的可以消除痛苦。

        【讨论】:

          【解决方案5】:

          各种精彩的工具和创建富 Web 应用程序的方法。它还支持所有当前的技术。因此,您可以推出您能想到的任何类型的应用程序/网络应用程序。我有很多很多例子。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-03-03
            • 2012-02-28
            • 2013-05-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多