[Catalyst] Ask Catalyst: What are your prefered DB and HTML
abstraction layers ?
Matt S Trout
dbix-class at trout.me.uk
Sat Jul 7 15:32:34 GMT 2007
On Thu, Jul 05, 2007 at 09:58:29AM +0200, Alexandre Jousset wrote:
> Hello list,
>
> I started a project using Catalyst with DBIx::Class and FormBuilder.
> This is far from a CRUD application. In fact it is a Slashdot-like
> application.
>
> I've heard about Rose and I'm planning to move from FormBuilder to
> Rose::HTML::Object that seems better designed.
>
> My real question is: should I also change the DB abstraction layer
> from DBIx::Class to RDBO ? Would this be more consistent? Does it worth it?
> Or can I live without it? I'm thinking in the long term.
Since nobody else seems to have replied, I'll take a stab.
I know quite a few people who've used RHTMLO with DBIC to great success, so
a switch to RDBO definitely isn't -necessary-.
On the other hand, I think the Catalyst::Controller::Rose stuff gives you
out of the box integration so your question really is twofold -
(1) Will it be more work to get your RHTMLO<->DBIC integration going than
it would be to port to RDBO and get RHTMLO<->RDBO integration going?
(2) Do you need any of the features DBIC provides that RDBO doesn't? (resultset
chaining and support for GROUP BY/HAVING being the obvious candidates)
Equally, (2) can be flipped, asking whether the features RDBO provides that
DBIC doesn't (which I'm obviously not as clear on the list of :) are worth
the effort of porting.
In the long term I personally don't see RHTMLO remaining the state of the
art in terms of form generation, but equally I do see it being the closest
to "good enough" of the currently available options so perhaps you won't need
to switch even when a better solution becomes available.
RDBO is a very well-engineered project, and while it has a more measured
development pace than DBIx::Class that does result in it being a bit more
polished in places and the documentation is excellent.
So ... I don't really have a straight answer for you. I know of quite a few
devs who've gone both routes and been happy with it, and I can't really say
whether one route is "better" or not - I think what I'd do is create a quick
one-table test app using Catalyst::Controller::Rose, and port one of your
current DBIC+FB controllers to DBIC+RHTMLO, and then decide at that point
which approach you like better.
--
Matt S Trout Need help with your Catalyst or DBIx::Class project?
Technical Director Want a managed development or deployment platform?
Shadowcat Systems Ltd. Contact mst (at) shadowcatsystems.co.uk for a quote
http://chainsawblues.vox.com/ http://www.shadowcatsystems.co.uk/
More information about the Catalyst
mailing list