We've used the Template Toolkit to our satisfaction in earlier jobs, so when I went looking for a framework, I wanted one that was based on or could use Template.
I found OpenInteract, but now I regret I did.
Apologies in advance to the author, but here's my list of reasons not to like OI:
- It is OO, yet it uses copying and renaming of .pm files (and classes!) for code reuse and customisation.
- It tries to solve problems that I don't have, like deployment. It's frustrating to have to manage perl code using a proprietary command when you've already standardised on Debian and/or Solaris packages for your own code.
- Hard to debug. If you want to figure out how SPOPS works, you can't just turn on an option to look at the generated code. It's all done using eval "", with no way to get the complete picture.
- The object-based security model can get in the way if for instance you want to allow users to see some but not all of an object.
OpenInteract is an impressive body of code and I can see how it works for its author. However, I think it suffers from being (mostly?) a one-man show.
So what would my ideal framework look like?
I'd like to try and duplicate the Struts framework from the Java world. Where J2EE just makes me wonder whether I actually need all that complexity, Struts immediately struck a chord. It solves dillemma's that I have had myself, building web apps since 1995.
In short, Struts is Model-View-Controller for the web, with emphasis on really identifying the Controller (and not mixing it with the View).
So I started wondering, maybe I should switch to Java for this kind of application...
But then I took one look at one random class (in this case the implementation of a custom jsp tag which creates a hyperlink) and I saw two screens of code, where two lines of perl would suffice.
So, I think there's merit in the idea of Struts-for-Perl. What do others think?
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.