in reply to Re: Catalyst usage in the wild...
in thread Catalyst usage in the wild...

Sorry I did not mean to group CGI::App with the CRUD comment. My problems with CGI::App are that I tend to feel like I need to recreate the wheel every CGI::App app I create. It seems to be so lightweight that you have to build up a ton of the inner workings that make sense for the web framework to provide. After I am done -- I am left feeling as though I spent half my time writing code to make the framework, you know, work. I get the icky feeling every-time I build around CGI::App that I could have done the same thing quickly just building a quick dispatcher on my own. Catalyst seems to add much more groundwork, but at the same time I can overload and change its core behavior pretty quickly without much hassle.


Replies are listed 'Best First'.
Re^3: Catalyst usage in the wild...
by weierophinney (Pilgrim) on Jul 12, 2005 at 15:47 UTC
    Your comments seem very much in line with Perrin's analysis in his slide presentation: CGI::App is suited for those who want high flexibility so they have control over their site. The syntax and methods are both flexible and extremely simple -- making it both easy to KISS, as well as to overdevelop ;-)

    My personal experience is that I develop a framework for each site I work on, and wrap utility methods/common functionality into a CGI::App superclass. The application framework -- cgiapp -- lets me choose what needs to be present, and what doesn't need to be. Every site is a little different, and I don't like to have more functionality in the application than is necessary.

    As an example, I might want a class that simply loads template content into a sitewide template. I have one run mode, and setup a default page if none is passed. Done.

    Another site might consist of several applications. The body content needs to go into the sitewide template, and I need breadcrumbs to the application. These items go into the superclass, and the individual application classes provide hinting so the superclass can do its job at the end.

    I appreciate larger frameworks -- they're great for prototyping more complex applications -- but in the end I've found that a lighter-weight framework like CGI::App suits my personal needs as a developer, because it allows me to build frameworks tailored for the sites I'm developing.

    It sounds like Catalyst more closely suits *your* needs, however, and that's what you need to think about. If you're worried about the longevity of the project, you can always step up as a developer... ;-)

      Thanks for the feedback, I see why you prefer CGI::App.. As for stepping up as a developer -- I wish I could, alas because of my current employment I am not sure that I could release copyright or hand out reproduction rights. I am looking into it.