Catalyst

runrig on 2005-06-01T01:03:36

Now that it's easy to install on Windows, I've just barely started (and I mean just barely) playing with Catalyst, and I've decided to try and duplicate the examples in the Ruby on Rails articles. I've only got as far as making controllers that print "Hello, World" and some other constant strings, and already got hung up (briefly) on some minor differences between RoR and Catalyst.

In the RoR example, you create a "MyTest" controller and after starting up the local web server go to "http://localhost:3000/MyTest". So I created a Catalyst "MyTest" controller and went to the same URL, but could not get my controller to work. Apparently it doesn't like the caps, and you have to go to "http://localhost:3000/mytest". Bug or feature? You decide :-)

Also, the RoR controllers/views/etc reload your classes on every request, but with the Catalyst local server, you have to restart the server every time you change any code. It might be nice to have some sort of Reload module that would reload changed modules when you are in debug mode. (or maybe a config file in the app directory tree where you can list modules that you want to be reloadable, with the model/view/controller modules for the app included by default -- and whether to reload just in debug mode or not, etc.).

Still, I find it about as easy to use as RoR, though I haven't used either enough to tell how much more powerful Catalyst is than Rails (as Catalyst claims to be). Catalyst supports a lot of options in controller actions (url matching, or the basic action names=>methods like Rails, which would be 'Local' actions in Catalyst). Kind of neat, and if I had to seriously use this, I'm sure I could get into it.