Looking at Catalyst

    Harry Fuecks

    Been reading the London web frameworks post mortem over on the London.pm. That and phplondon make me wish I was there rather than here right now.

    Anyway, apperently the Perl crowd feels catalyst “lost”. What’s Catalyst? Basically Perl’s answer to Rails.

    Reading Simon Wistow’s remarks, I’m personally more convinced about Catalyst because it’s flexible.

    There needs to be a slogan like “A framework is for life, not just for Christmas“. Once you start writing code against a framework, you’re stuck with it, at least for as long as you’re willing to maintain that code.

    I’ve been burnt by PHP frameworks before and there are very many to choose from. The main issues I’ve run into time and again are either;

    1. It’s incomplete – work in progress (perhaps stalled)
    2. It’s too inflexible when it comes to edge cases and my experience has been real projects are, in fact, 50%+ edge case. Once you hit an edge case, it’s very easy to blow any time you saved elsewhere to the point where you even consider “vanilla PHP” (or whatever you’re using) might have been smarter.
    3. Half way down the road I realise I’ve misunderstood how it’s intended to be used and now have a bunch of code that needs an overhaul. Compounded with point 2 there’s no cheap route to box my way out – re-write.
    4. Not integrated – too much time spent glueing different libraries together
    5. The framework, simply, sucked (those I can spot in advance these days).

    Side note: sadly WACT still falls into category 1. here (it’s very honestly labelled alpha) which is a shame because personally think Jeff is sitting on PHP’s “answer to Rails”, not that comparison is needed. In fact think Jeff has a design which really challenges notions of MVC on the web – can only really express that by linking to his hangman example (which I guess you’ll either “get” or you won’t). Jeff’s MVC notes are also outstanding. What I wish for with WACT is described here , which may starting rolling out of here some day.

    So for a long time have been avoiding anything MVC and sticking to page centric designs because they work and stuff get’s done. Side note: those that scream “spagetti” should evolve – with self discipline (yes – something that doesn’t usually scale to team development) you can write stuff that you can live with this way.

    Anyway – got a personal project I’m starting to think seriously about, which will revolve around a shopping cart and baby clothes. Nothing major but having surveyed the “off the shelf” Open Source options it’s realised it’s a DIY job.

    A friend, who’s advice I trust, convinced me a take a look at Catalyst and the more I see, the more I like. Was yet more convinced reading this, specific to what I want to do. My main issue is time – number 2 child is arriving soon, after which even less time and I want something where there’s a end to development in sight.

    So – will see how it goes with Catalyst, assuming I get started at all. Given more time, may document some experiences – also have had these “Perl for PHP programmers” notes in my head for a long time now, which might fit into that.

    Perhaps that’s some sort of consolation to the Londom.pm crowd who felt Catalyst lost e.g. “PHP fanboy thinks about Catalyst” ;)