Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: On the scaleability of Perl Development Practices

by dragonchild (Archbishop)
on Aug 18, 2008 at 15:33 UTC ( [id://704956]=note: print w/replies, xml ) Need Help??


in reply to Re: On the scaleability of Perl Development Practices
in thread On the scaleability of Perl Development Practices

You want a tutorial on how to "write a web application using <DB Abstraction Module>, <Templating System>, and <Runtime Backend>." There are likely a half dozen reasonable choices for the first two, and three or four choices for the backend.

I am not sure I understand why you need a tutorial explaining how to use three systems in concert when they are all so well isolated.

Ah, but they aren't. For example, the support for using TT and DBIC with Catalyst is much stronger than using TT and DBIC with CgiApp. Or, using Text::Template and Rose::DB with Mason. And so on. While you can mix'n'match, there are some that work better with each other than with others. Hence, the usefulness of the requested documentation.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re^2: On the scaleability of Perl Development Practices

Replies are listed 'Best First'.
Re^3: On the scaleability of Perl Development Practices
by talexb (Chancellor) on Aug 18, 2008 at 16:10 UTC
Re^3: On the scaleability of Perl Development Practices
by perrin (Chancellor) on Aug 18, 2008 at 18:33 UTC
    the support for using TT and DBIC with Catalyst is much stronger than using TT and DBIC with CgiApp

    I don't actually see much integration between Catalyst and TT or DBIC. It's not really possible when you take a hard line on being able to switch components. Jifty is the only really integrated perl dev framework I can think of.

Re^3: On the scaleability of Perl Development Practices
by oknow (Chaplain) on Aug 18, 2008 at 21:00 UTC
    Ah, but they aren't. For example, the support for using TT and DBIC with Catalyst is much stronger than using TT and DBIC with CgiApp. Or, using Text::Template and Rose::DB with Mason. And so on. While you can mix'n'match, there are some that work better with each other than with others. Hence, the usefulness of the requested documentation.

    I suppose I should remember that it is rarely safe to speak in absolutes. The modules that play better with certain modules than others state that pretty clearly in their documentation, don't they?

    Modules that don't play well with others are far less common than those that do.

    Oknow
      I've found it to be pretty rare for modules to say which work better with whom. For example, even though Catalyst and DBIx::Class were practically designed to work together (given that mst is the primary dev on both), there's little in the documentation of either that states that. Same with the fact that TT tends to be the templating system of choice for that sort of system.

      Modules that don't play well with others are actually the rule. A given module will only work well with those systems that the author(s) know well. For example, Excel::Template needs to have a wrapper in order to work with Template Toolkit, even though I worked with TT before writing E::T. DBM::Deep doesn't work at all with objects that have $dbh's in them, even though I'm also a DBA. It's hard to write completely general-purpose code.


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://704956]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2024-04-20 02:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found