我都使用过Perl CGI和Catalyst。我知道Catalyst比Perl CGI更好。我知道不同之处在于Catalyst有更好的URL处理。但是还有什么其他的区别呢?
另外,如果使用Catalyst或CGI Perl,应用程序的性能会发生怎样的变化?为什么?如果你遇到过一些真实世界的例子,请提供源码。
发布于 2012-04-24 16:43:03
将CGI.pm与Catalyst进行比较就像将一台小型笔记本电脑与一个完整的办公环境进行比较。笔记本电脑很棒,除了家庭办公室,还有一张桌子、一把椅子、打印机,也许还有传真机、扫描仪、订书机、文件柜、笔、纸等等。
CGI.pm用于解析查询字符串,表单数据,处理cookie,一些基本的超文本传输协议处理,可能是一些快速和肮脏的超文本标记语言生成,但仅此而已。这就是你得到的所有东西,这是可以的,因为这就是它设计的全部目的。事实上,包含HTML生成函数可能是一个错误。
Catalyst是一个完整的Web框架,旨在简化Web站点的组织和创建。这是模型的位置,控制器的位置,视图的位置…处理Web请求、cookie、HTTP、会话、身份验证、路由调度,它有一个内置的开发服务器,等等。它远远超出了CGI,所以比较它们是没有意义的。
如果Catalyst对你来说有点过火,我强烈建议你去看看Dancer或Mojolicious。
发布于 2012-04-24 14:25:12
我假设你说的是CGI::Application,而不是CGI.pm vs Catalyst。
当然,您的应用程序性能将取决于您对框架所做的工作,以及您是否可以使用缓存(在这种情况下,它们都非常快)。
有关更多信息,请查看http://www.perlmonks.org/?node_id=645497。不要让日期吓到你,事情并没有那么大的变化。
CGI很简单,它涵盖了基础知识,你可以很快地学会它。
Catalyst试图成为你忠实的助手,并希望你忠诚并深入了解它。它可以自动化很多事情,同时还能给你带来灵活性。它确实使用了很多库,但在我看来,它似乎并没有减慢它的速度。不过,您的硬件和要求与我的不同。
对于快速项目,我使用CGI,对于更复杂的系统,我使用Catalyst。这真的取决于你的项目。
https://stackoverflow.com/questions/10292413
复制相似问题