Skip to main content

What are the alternatives to MVC architecture for web development?


I have searched around for alternatives just to see what is available, but I can hardly find anything.



I've read in many articles that web MVC is never true MVC for some reasons too technical for me to really grasp. And it is sometimes suggested to look for something else, but what are the something elses, what are the other architecture types? Where can i read more about it? Can someone provide more details about what is available out there?



By the way, I already read about the 3 tiers architectures, which in my opinion is pretty similar, unless proven otherwise.



What else is there?


Source: Tips4allCCNA FINAL EXAM

Comments

  1. An (already a bit older) blog post from Larry Garfield is the best ressource I know about this topic:

    http://www.garfieldtech.com/blog/mvc-vs-pac

    ReplyDelete
  2. Sorry, don't have any easy to digest comparisons. But there is for example the Model-View-Presenter pattern which has superseded MVC, and is actually closer to what most PHP frameworks practically do. http://richnewman.wordpress.com/2008/02/26/model-view-presenter-variations-on-the-basic-pattern-introduction-to-cabscsf-part-24/

    Articles like http://c2.com/cgi/wiki?TemplatingInPhp assume that PHP itself is the best model for webapps, and patterns instead of templates don't add enough benefits.

    Besides PAC, there is also Model-View-ViewModel (which is currently a hot topic in C# but not in PHP) and and Model-Delegate http://c2.com/cgi/wiki?ModelDelegate which expand upon MVC. But they might not be as useful for generic webapps either.

    ReplyDelete
  3. We are using a different approach in Agile Toolkit which consists of more diverse set of components. In short - you have one application class. Application decides on page class based on routing rules. Page would use several view objects for initialization and rendering.

    Page links views with Models through generic controller. Standard set of templates (html) exist, but can be also customized.

    Structure is looking like this:

    standard api -> custom page -> standard views -> custom model.

    Custom page is referred as UI logic and defines how your web app looks. Model is based on enhanced ORM objects and defines how your web app works. Separation of the two and taking HTML and JS out of equation improves development speed and flexibility severely.

    Here is link with more detailed description:
    http://agiletoolkit.org/doc/learn/quick_start

    I am not so sure how to clarify this structure, but who cares anyway - it's awesome and developers love it for simplicity and consistency.

    ReplyDelete

Post a Comment

Popular posts from this blog

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.