Re: Catalyst usage in the wild...
by perrin (Chancellor) on Jul 11, 2005 at 15:50 UTC
|
You are welcome to take a look at my slides and code examples from YAPC for a comparison of the same small app in OpenInteract2, CGI::Application, and Catalyst. (Most of the interesting stuff is in the code examples.) I will be updating this for OSCON next month. | [reply] |
|
perrin,
Yeah I saw those already and have followed the chain of emails on the list. I must say that I have had some of the same experience as you with the very limited documentation so far, but that I seem to still be enamored by the toolkit. I find it feels very natural to my style of coding web apps. I hope that you would put some effort into expanding the documentation where you had found it to be very light as you update your slides for OSCON. I plan to where I can as well.
| [reply] |
|
Is there another version of the the slideshow out there other than a .sxi file? Crap, what is a .sxi file anyways?
| [reply] |
|
| [reply] |
|
|
It's Open Office. I tried to export it to PDF, but it mangled the graphics. Maybe I can find a better PDF converter somewhere.
| [reply] |
Re: Catalyst usage in the wild...
by phaylon (Curate) on Jul 11, 2005 at 15:30 UTC
|
| [reply] |
Re: Catalyst usage in the wild...
by arhuman (Vicar) on Jul 11, 2005 at 15:45 UTC
|
| [reply] |
Re: Catalyst usage in the wild...
by sri (Vicar) on Jul 11, 2005 at 15:35 UTC
|
It's definately not going to die soon, i'm happily hacking on a Perl6 port.
There's also a strong and very active community, 250 people on the mailing list and 60 in the irc channel (but i'm sure thats already outdated again)... ;) | [reply] |
|
sri,
I have been lurking for a while on the mailing list archives, it looks pretty active. I really like everything that you guys have done so far. I just wanted to get more of a feel for how much people here had been using it in the wild -- I have gotten bit on some newer frameworks that seem to have a good start but peter out over the next few months.
| [reply] |
Re: Catalyst usage in the wild...
by fmerges (Chaplain) on Jul 11, 2005 at 16:56 UTC
|
Hi,
Have done some CRUD with Maypole, but performance is not amazing, and read the documentation about Catalyst, and had the same question, about how long it would be actual, maintained, how devel, etc... So it's nice to see that there're more people on the same position that I'm. And of course, great to see comments from the authors!
I was thinking about using Catalyst for the refactoring of a complex internal webapp. It'll be a long timing task, it's Perl+C, but the person who wrote it, was learning Perl on the way, strange style and don't use the nifty things you would expect...
Regards,
| [reply] |
|
From what I have seen so far, Catalyst seems to serve up pages very quickly vs Maypole (in my converted apps about a 6 or 7 fold speedup). Good to know I was not alone in my worries...
| [reply] |
|
We've spent a huge amount of time optimizing the dispatcher, so it should be much faster (and especially more versatile) than Maypole and Ruby-on-Rails.
| [reply] |
Re: Catalyst usage in the wild...
by Mutant (Priest) on Jul 11, 2005 at 15:32 UTC
|
I asked a similar question about Maypole a couple of months ago, and got a vote of confidence for Catalyst by ank.
I haven't gotten around to using Catalyst in a production environment yet, but I'm looking forward to the next opportunity. | [reply] |
Re: Catalyst usage in the wild...
by artist (Parson) on Jul 11, 2005 at 15:08 UTC
|
Ruby is definitely a sleek language and I have desired to build app with Rails. I heard about Catalyst, but haven't make myself familiar with MVC framework. I definitely like to work with Catalyst as I can leverage my existing Perl-work\ and CPAN.
| [reply] |
Re: Catalyst usage in the wild...
by johnnywang (Priest) on Jul 11, 2005 at 17:22 UTC
|
Is there a PPM for the Catalyst bundle somewhere? doesn't seem to be in the ActiveState repository. | [reply] |
|
| [reply] |
|
Don't know for PPM but for those using Debian looking for .deb just add in your /etc/apt/sources.list :
#catalyst
deb http://pkg-catalyst.alioth.debian.org/ binary/
"Only Bad Coders Code Badly In Perl" (OBC2BIP)
| [reply] [d/l] |
Re: Catalyst usage in the wild...
by IOrdy (Friar) on Jul 12, 2005 at 04:22 UTC
|
I think the dispatching is neat but does anyone else feel that the stash is kind of icky? I have not used catalyst yet but from the docs it looks like just a reference to a global hash with nothing to stop actions using conflicting names within the stash.
I have in mind to use a 'namespace' per controller or to assigning to the stash with a set method so I can check I'm not blowing away an existing value; unless there is a defacto standard between people working on catalyst modules?
| [reply] |
|
This mostly depends on how much you forward in your app.
There is no standard, but nobody ever complained about this, so it's definately no issue. ;)
| [reply] |
Re: Catalyst usage in the wild...
by weierophinney (Pilgrim) on Jul 12, 2005 at 11:51 UTC
|
The first I heard of Catalyst was in the past few days on the CGI::Application mailing list. I haven't had much time to check it out yet, so I cannot really address many of your questions.
I do have some questions for you, however. Why to you lump CGI::App into those that you feel "are geared towards CRUD"? The reason I ask is that CRUD is not typically what I develop with CGI::App. The stuff I develop with CGI::App varies widely, but is typically of the landing page-search results-view individual variety, or data capture (vs full-blown CRUD).
(A cursory glance at Catalyst indicates that it shares one important thing in common with CGI::App: a page is a method (cgiapp uses the terminology run mode). With this paradigm, your class indicates what the available run modes are, what to use if none is passed or an invalid one is specified, and you go from there.)
Additionally, you indicate that "anything more complex [than CRUD] seems to start fighting the API". Could you explain what your experience is, and why you find this to be so? I've developed many complex applications with cgiapp, and your statement doesn't seem self-evident at all. I'm curious if it really applies to the other frameworks you list as well.
From the buzz I've heard and my cursory glance through its docs, Catalyst sounds quite well-designed. However, the other frameworks you mention have been around for quite some time and have active developer communities; I'm curious to know what sorts of applications you have in mind that they would not be able to address. I'm wondering if it's more a matter of Catalyst more closely matching your personal coding style than the inability of the other frameworks. | [reply] |
|
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.
| [reply] |
|
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... ;-)
| [reply] |
|