Deciding to use Catalyst
October 12th, 2007I’ve decided to use the Perl-based Catalyst framework for my biggest personal project. I’ve written a fair amount of code using CGI::Application, DBIx::Class and TemplateToolkit already, but because Catalyst uses DBIC and TT, I don’t think it will be too difficult to make the switch. The decision to switch to Catalyst was influenced by the many positive assessments I’ve read regarding the framework, and also because CGI::Application wasn’t cutting it for me. I don’t like to run my scripts via ModPerl::Registry, and I’m tired of creating a new response handler in my apache config file for every script I run — even though each script contains multiple pages. Catalyst appears to bring everything I need together in one neat package. I get MVC separation, I can reuse much of my existing code, and I get whole lot more for free.
The one issue I’m a little unsure of is performance. I’m hoping to create a large volume site on a shoe string budget, and so I need my application to perform well without too much hardware. I’ve seen framework performance comparisons that show Catalyst performing slightly worse than Ruby on Rails, but I’m planning to run my app under mod_perl, and I suspect that not much tuning was done to either framework before those test were run. Some time this week, I’m going to run benchmarks tests on Ruby on Rails with Apache and Mongrel, and on Catalyst under mod_perl. I’ll post my setup notes and results when after I run those tests.