【问题标题】:What are the differences and performances characteristics of Perl CGI and Catalyst?Perl CGI 和 Catalyst 的区别和性能特点是什么?
【发布时间】:2012-04-24 18:16:17
【问题描述】:

我使用过 Perl CGI 和 Catalyst。我知道 Catalyst 比 Perl CGI 更好。我知道不同之处在于 Catalyst 具有更好的 URL 处理能力。但还有哪些不同之处呢?

另外,如果使用 Catalyst 或 CGI Perl,应用程序的性能会如何变化,为什么?如果您遇到过,请提供一些真实世界的示例。

【问题讨论】:

  • 并没有真正回答您的问题,但您可能想看看 Dancer。 Dancer 是一个用于 perl 的轻量级 MVC Web 框架,我发现它比 Catalyst 使用起来更友好。 perldancer.org
  • @mttrb - 我对Dancer 没有任何了解,但是Dancer 最适合小型应用程序还是我想在更短的时间内应用程序?
  • 我发现 Dancer 比 Catalyst 更简单、更易于配置和使用。我最近用它做的大部分东西都是中小型网络应用程序,它运行良好。

标签: performance perl cgi catalyst


【解决方案1】:

将 CGI.pm 与 Catalyst 进行比较就像将小型笔记本电脑与完整的办公环境进行比较。笔记本电脑很棒,但家庭办公室有桌子、椅子、打印机,可能还有传真机、扫描仪、订书机、文件柜、笔、纸等等。

CGI.pm 用于解析查询字符串、表单数据、处理 cookie、一些基本的 HTTP 处理,也许是一些快速而肮脏的 HTML 生成,但仅此而已。这就是你所得到的一切,这没关系,因为这就是它的全部设计目的。事实上,包含 HTML 生成函数可能是一个错误。

Catalyst 是一个完整的 Web 框架,旨在使组织和创建网站变得容易。这里是模型所在的地方,这里是控制器所在的地方,这里是视图所在的地方......而且,哦,是的,处理 Web 请求、cookie、HTTP、会话、身份验证、路由调度,它有一个内置的开发服务器,并且很快。它远远超出了 CGI,因此比较它们没有意义。

如果 Catalyst 对您来说似乎有些过头了,我强烈建议您查看 DancerMojolicious

【讨论】:

  • @Ovid- 性能怎么样?考虑到一个简单的应用程序,哪一个会更快?
  • drt,您的问题是类型错误,这就是 Ovid 没有回答的原因。哪个更快:笔记本电脑还是办公室?
【解决方案2】:

好吧,我假设您在谈论 CGI::Application 而不是 CGI.pm 与 Catalyst。

您的应用程序性能当然取决于您对框架所做的工作以及是否可以使用缓存(在这种情况下,它们都非常快)。

查看http://www.perlmonks.org/?node_id=645497 了解更多信息。不要让日期吓到你,事情并没有太大变化。

CGI 很简单,它涵盖了基础知识,您可以很快学会它。

Catalyst 努力成为您忠实的助手,并希望您忠诚并深入了解它。它可以自动化很多事情,同时仍然为您提供灵活性。它确实使用了很多库,但在我看来,它似乎并没有减慢它的速度。不过,您的硬件和要求与我的有所不同。

对于快速项目,我使用 CGI,对于更复杂的系统,我使用 Catalyst。这真的取决于你的项目。

【讨论】:

  • CGI.pm vs Catalyst 怎么样?
  • CGI.pm 主要用于通过 cgi 读取和格式化响应。您可以生成 html、读取参数、设置会话。回到过去,这比自己做所有事情有了很大的进步,但没有应用程序的感觉。您在其他所有事情上都扮演自己的角色(或使用 cpan!)。
猜你喜欢
  • 1970-01-01
  • 2012-06-22
  • 2011-02-18
  • 2015-01-11
  • 2012-03-08
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
  • 2011-01-11
相关资源
最近更新 更多