8

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

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

4

5 回答 5

10

如果您将 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 应用程序。

于 2009-07-23T15:31:57.777 回答
3

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

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

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

于 2009-07-23T14:47:37.327 回答
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# 将是我的选择。

于 2009-07-23T20:12:15.013 回答
1

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

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

于 2009-07-23T17:22:49.473 回答
0

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

于 2010-01-19T17:17:05.797 回答