我都使用过Perl CGI和Catalyst。我知道Catalyst比Perl CGI更好。我知道区别在于Catalyst具有更好的URL处理能力。但是还有其他什么差异呢?
此外,如果使用Catalyst或CGI Perl,应用程序的性能如何变化?为什么?如果你遇到过一些现实世界的例子,那就来源。
答案 0 :(得分:3)
将CGI.pm与Catalyst进行比较就像将小型笔记本电脑与完整的办公环境进行比较。笔记本电脑很棒,家庭办公室,桌子,椅子,打印机,传真机,扫描仪,订书机,文件柜,笔,纸等等。
CGI.pm用于解析查询字符串,表单数据,处理cookie,一些基本的HTTP处理,可能是一些快速和脏的HTML生成,但不是更多。这就是你得到的所有,这是可以的,因为它是它的全部设计目的。事实上,包括HTML生成函数可能是一个错误。
Catalyst,是一个完整的Web框架,旨在使组织和创建Web站点变得容易。这里是模型的位置,这里是控制器的位置,这里是视图的位置......哦,是的,处理Web请求,cookie,HTTP,会话,身份验证,路由调度,它有一个内置的开发服务器,以及等等。它远远超出CGI,比较它们没有意义。
如果Catalyst看起来有点矫枉过正,我强烈建议您查看Dancer或Mojolicious。
答案 1 :(得分:1)
我认为你在谈论CGI :: Application而不是CGI.pm vs Catalyst。
您的应用程序性能将取决于您对框架的处理方式以及是否可以使用缓存(在这种情况下,它们都非常快)。
有关详细信息,请查看http://www.perlmonks.org/?node_id=645497。不要让日期吓到你,事情没有那么大改变。
CGI很简单,它涵盖了基础知识,你可以很快地学习它。
Catalyst试图成为您忠实的助手,期望您能够忠诚并充分了解它。它可以自动化很多东西,同时仍然为您提供灵活性。它确实使用了很多库,但在我看来,它似乎并没有减慢速度。您的硬件和要求会有所不同。
对于快速项目,我使用CGI,对于更复杂的系统,我使用Catalyst。这真的取决于你的项目。