Last night, I made my way through the perl.com Catalyst tutorial. I had been meaning to do this for a while. Actually, I had been meaning to do this with Ruby on Rails; but I ♥ CPAN too much, so I gave Catalyst a shot.
I mean WOW!
I've fallen behind on my web development methodologies. Frankly, because I don't really do that many built-from-the-ground-up totally-in-house web applications, anymore. Back, before I worked at ITS, I worked at Weatherhead in ITG. Back then, that's all I did. Nowadays, working in ITS for Middleware Engineering, I spend most of my time creating middleware frameworks, doing ops on various systems, or taking already created open/available source projects/products that solve 80% of my problem and dig into their internals or use their plugin frameworks to adapt them better to Case and fill in the final 20%. So, that's why I have fallen behind; I just don't do it anymore. And, when I do do it; I am usually already waist dip in an existing product's code as was the case with Movable Type.
Regardless, it was time to freshen up the old skill set. Plus, I am unabashedly a geek; so this kind of thing actually appeals to me.
My first task was to install it. I have 97 computers at home, but 96 of them are in various states of disrepair or have been discarded entirely. This leaves me with my Windows laptop. The computer already had ActiveState's ActivePerl on it; but that's not saying too much because PPM, the Win32 package manager work-a-like to CPAN.pm, doesn't always "work," so much. But, according to Hey there windows user! Wanna try Catalyst? entry in Draven's journal, it was just a matter of:
ppm> install Module::Build
ppm> repository add Theoryx5 http://theoryx5.uwinnipeg.ca/ppms/
ppm> repository add Catalyst http://home.ngmedia.net/chansen/catalyst/ppms/
ppm> install Catalyst
This "sorta" worked. It installed Catalyst, but after much futzing, I realized I had to manually upgrade HTTP::Headers and manually
ppm install Catalyst::Model::CDBI::CRUD, Catalyst::Model::CDBI::Plain, and Catalyst::Model::CDBI::Sweet.
Okay, but after that, everything went swimmingly.
And, who would have thought that MVC web frameworks have become so powerful that a simple two page article on perl.com can have you running a completely functional AJAX-ified wiki in minutes. That's where the WOW! part came in.
I should have done this a long time ago. After going through the steps, it was seriously a web development epiphany. It seems foolish to be using anything but a framework like this for any (and I mean any) web development work. And, this will already add to my above normal levels of hubris as I scoff at others who haven't adopted a framework like this.