Delphi中的Web应用程序

时间:2009-07-23 14:34:13

标签: delphi cgi isapi

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

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

5 个答案:

答案 0 :(得分:9)

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

  1. 与其他脚本语言相比的性能。
  2. 重用您的Delphi代码。
  3. 在伟大的IDE中工作。
  4. 使用您喜欢的语言(Delphi)。
  5. 如果您使用Intraweb,您可以内置Ajax支持和生产,而无需深入了解Web或JavaScript。
  6. 但是不好意思:

    1. 部署并不容易,您需要使用ISAPI& IIS,你很少找到为你提供ISAPI的Hosting copmany。
    2. 只有Windows平台,(如果你使用freePascal,你可能会得到其他人)。
    3. 没有框架,没有帮助你的图书馆。
    4. 这方面的文件很差,而且大多数文章都很旧。
    5. 与其他解决方案(如Asp.Net)相比,使用Webbroker的效率不高。
    6. 即使你使用Intraweb,它比其他解决方案更有效率,但不灵活,因为它隐藏了你的网络。
    7. 顺便说一下,Shareit已经用基于PHP的旧网络应用程序替换了用Delphi和Intraweb构建的新网站。

答案 1 :(得分:3)

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

另一个原因可能是开发人员在Delphi方面非常优秀而在其他语言方面表现不佳。

使用编译语言还可以提供超过php,rails和asp等解释语言的性能优势。

答案 2 :(得分:3)

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

  1. 如果您不控制服务器(假设它由您的ISP托管),则几乎不可能安装本机编译的代码。几乎所有我能想到的网络主机都接受脚本语言。
  2. 有一些与使用ISAPI应用程序中的DLL相关的特性。例如,当您使用LoadLibrary加载库时,当前文件夹是C:\ Windows \ System32,如果您调用期望DLL驻留在当前文件夹中的现有代码,这可能很方便。
  3. 较新版本的IIS还具有一些安全功能,使其不方便。 “应用程序保护”设置必须设置为最低设置,并且必须单独启用所有已批准的ISAPI扩展。在与他人共享的服务器上,存在很多灾难的可能性。
  4. Delphi Prism可以提供更多功能,因为它可以完全支持.NET相关技术,包括MVC和Silverlight。我已经在C#中完成了所有的Web服务,如果我必须启动一个新的Web项目,Delphi Prism或Visual C#将是我的选择。

答案 3 :(得分:0)

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

如果您决定采用这种方式,我强烈建议您使用idDebugger工具来协助调试。这真的很痛苦。

答案 4 :(得分:0)

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