I agree with you in that Rails's/Catalyst's MVC is hard for complex applications and it is nothing like MVC ( At least what used to be called MVC before the web ). In Web-MVC part of the controller/view ( and sometimes model ) gets located in the client in the form of JavaScript: dynamic menus, form validators, autocomplete fields, etc. In this case the controller/view located in the server has to respond some times HTML and others JSON, XML and even Javascript, if that wasn't enough try to refresh only some parts of the page and it's going to be a big headache. Not only that, if model gets refreshed by another user you won't get updates unless you refresh the page, and we know how frustrating are auto-refreshes from a user stand-point.

Said that I think it make more sense this days to explore something more close to traditional MVC which is Rich client application ( or Thin Server architecture ) depending on the type of application ( in some other cases old-fashioned web-apps are still better), where a high % of the logic is in the client and server becomes a service and responsibilities are much more delimited. I think cases like Gmail or GrooveShark proved the point.

For Rich client apps, frameworks like Dojo help a lot in combination with JSON::RPC ( although it completely lacks of session/security management )


In reply to Re: Web Application design patterns with Mod_perl by bluescreen
in thread Web Application design patterns with Mod_perl by avrono

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.