Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

RE: Template Toolkit vs HTML::Mason

by princepawn (Parson)
on Oct 23, 2000 at 16:50 UTC ( #37891=note: print w/ replies, xml ) Need Help??


in reply to Template Toolkit vs HTML::Mason
in thread Text::Template

Some of this post is corroboration of merylyn's post, some parts are rebuttle. I think the bottom line is that no-one has completed an empirical comparison of the all the major web application development frameworks for Perl. I have listed all of them on my home node, they are:

  1. chromatic has an attempt to develop an application server for Perl similar to Zope, but it is not really in release stage yet.
  2. There is something called Iajutsu which is enormously complicated but uses the Template Toolkit for its templating.
  3. BingoX - developed by two former eToys consultants (merlyn told me this), adds Mason-esque features to Template Toolkit. on sourceforge somewhere
  4. Html::Embperl - my tool of choice. Similar to Mason but with more facilities for rapid page development. Ie, expansion of arrays into tables, automatic creation of hidden fields for data posted from previous pages, per-page, per-user, and per-session data hashes, and more.

    And regarding playing well outside mod_perl, Embperl works in CGI, offline, or mod_perl enabled modes. So no advantage to cpan://Template] there.

    And finally, his companion (but useable separately tool) DBIx::Recordset has many niceties for HTML-based database navigation and for commission of form data into database in one -line.

  5. HTML::Mason - very popular in the US. Excellent cache support. No offline HTML generation
  6. HTML::EP by Jochem Wiedman, also has database support in addition to a full-range of features similar to Embperl.

Regarding Template, one must observe that it is middle-of-the-road. That is, on one hand, the conservative hand, we have HTML::Template which only allows one to place variables in HTML and thus demands maximum code re-use should you want to throw away your old HTML. On the other hand, the liberal hand, we have HTML::Embperl, where you can place Perl code right inside your HTML. In this case, you may not get around to creating abstractions and may not get the code-reuse the HTML::Template offers. But, it does offer abstraction mechanisms. You can create HTML::Subs which are like Perl subs, only their default language is HTML and you must escape to do Perl processing. Example:

[$ sub favorite_tag $] <h1>Python is for weenies</h1> [+ $date = (localtime)[3] $] <h1> [+ $date +]</h1> <li> [+ favorite_tag +]

And then of course, we have smack-dab in the middle, Template, the Template Toolkit. It allows you to play the conservative game and only inline Perl variables. But its %% PERL %% tag allows you to get as butt-wild as cpan::HTML::Embperl if you feel like it to.

So, really, it is high-time that someone assess these modules based on full-blown development instead of all of the piecemeal arguments and flame wars that I have seen to date.


Comment on RE: Template Toolkit vs HTML::Mason
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2014-10-31 05:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (214 votes), past polls