Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Web Applications

by Anonymous Monk
on Jul 06, 2005 at 15:20 UTC ( #472851=perlmeditation: print w/replies, xml ) Need Help??

Selecting right infrastructure and stick to it seems problem with growing nature of applications. What framework do you feel content about not so large websites? What is your toolset?

Mine is : CGI, HTML::Template, CGI::Application, DBI.

Replies are listed 'Best First'.
Re: Web Applications
by simonm (Vicar) on Jul 06, 2005 at 15:49 UTC
    My typical toolset for web/db app development is: Apache, HTML::Mason, DBI, DBIx::SQLEngine, and Class::MakeMethods, along with various other odds and ends.

    These tools work great on medium-to-large projects, and while they might be overkill for some smaller ones, they're not too unwieldy for my purposes.

Re: Web Applications
by exussum0 (Vicar) on Jul 06, 2005 at 21:36 UTC
    For any size, i use..

    HTML::Template in perl, Velocity in Java - Both VERY simple template systems. You can't make it do really "intense" things w/o a lot of work. You can't lazily create crap as easily w/ other template systems. Learning curve is very low.

    CGI::Application in perl, Struts in Java - A lot of people know them. I prefer struts for data abstraction from the actual web application, but that's a preference that coding standards can get the rest of the way.

    Class::DBI in perl, Hibernate in Java - There are very simple patterns that we tend to screw up, and add a small % of code to our apps. In the case of database stuff, you first have to deal w/ connections failing, preparing statements, putting all of your sql in a central place, relating them back to objects/blessed refs if you are using OOP. It's a lot of stuff to do. w/ class::dbi and hibernate, i can specify how something maps to something else in a more centralized way and not writing much DB code. DBI is a grand thing, but it's time we got past using it for complex apps, just like you would use CGI.pm to create a cgi.

    ----
    Give me strength for today.. I will not talk it away..
    Just for a moment.. It will burn through the clouds.. and shine down on me.

      Off topic, but do you have any thoughts on why Java is such an attractive choice for open source projects given that
      1) Java itself is not open source and
      2) you can get more done with less lines of code in Perl (or Python or Ruby) (similar sentiments echoed here).
Re: Web Applications
by shiza (Hermit) on Jul 06, 2005 at 16:24 UTC
      First off, you definitely need an Apache running mod_perl on a Linux box.
      Why? Why not *BSD? Why not fastcgi or just vanilla CGI (the OP did say "not so large websites")?
        "What framework do you feel content about not so large websites? What is your toolset?"

        He asked what you feel content about and what *your* toolset was. I replied with *my* preferences. If you prefer different options, post them. This isn't a competition. :\

        Besides, what I posted works well with large and small applications and provides room for growth.
Re: Web Applications
by saskaqueer (Friar) on Jul 07, 2005 at 01:30 UTC

    Personally, I use CGI, Template, and DBI. They're simple enough to put together on your own, and I've never found a reason to use anything else other than those three base modules for the basic farmework of a web application. I have previously looked at Class::DBI but wasn't floored by what it could do; but since it seems to have a very widespread audience of users that praise it, I may have to take another look.

      I didn't like some of the design decisions made by Class::DBI so I wrote my own alternative that I (predictibly) like a lot better: Rose::DB::Object. If you weren't enamored with Class::DBI, you might want to check it out.

Re: Web Applications
by samizdat (Vicar) on Jul 06, 2005 at 18:22 UTC
    I'm very happy with HTML::Embperl, DBI, GD, MySQL and Apache on FreeBSD 5.4-STABLE. Thinking of changing to PostGreSQL for license and meta-table reasons, but Embperl rocks.
Re: Web Applications
by merlyn (Sage) on Jul 06, 2005 at 19:22 UTC
      CGI::Prototype - hmmm, should you have declared your interest in that module, like financial commentators do for investment articles ?
      That said I've built a simple 'system monitor' style app in just a few hours with it - just for my own education, not yet ready to write an app for a client in it yet. But it was fun!

      ...it is better to be approximately right than precisely wrong. - Warren Buffet

Re: Web Applications
by dragonchild (Archbishop) on Jul 07, 2005 at 12:48 UTC
    Catalyst - it's Perl-on-Rails!

    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?
Re: Web Applications
by leriksen (Curate) on Jul 06, 2005 at 23:36 UTC
    Mine is exactly what you have, but I've recently been replacing DBI with Class::DBI - I recommend you spend 2-3 days playing with it, its a remarkable piece of kit.

    ...it is better to be approximately right than precisely wrong. - Warren Buffet

Re: Web Applications
by Eyck (Priest) on Jul 07, 2005 at 08:34 UTC
    I'm surprised noone mentioned Apache::ASP yet, it is quite good, despite being associated with M$ ASP technology, works with mod_perl under Apache, and as CGI on other servers, and your code is easily portable to IIS(hehe).

    I usually use DBI and DBI::Pg, but lately I'm thinking about moving out of this whole SQL business, take a look at cpan::DBM::Deep

Re: Web Applications
by Mostly Harmless (Initiate) on Jul 08, 2005 at 05:50 UTC
    Mine is mod_perl/Apache, CGI, DBI and a home grown templating system. Has been thinking of moving to HTML::Mason, but is reluctant as the existing setup works well, and too many developers may have to go through an avoidable learning curve. Not sure if it's worth.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://472851]
Approved by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2020-07-16 03:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?