<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" 
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html" />
  <link rel="self" type="application/atom+xml" href="http://www.insideria.com/atom.xml" />
  <id>tag:www.insideria.com,2009://34/tag:www.insideria.com,2008://34.24224-</id>
  <updated>2009-11-05T20:05:51Z</updated>
  <title>Comments for The Origins of MVC (http://www.insideria.com/2008/06/the-origins-of-mvc.html)</title>
  <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.21-en</generator>
  <entry>
    <id>tag:www.insideria.com,2008://34.24224</id>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://blogs.oreilly.com/cgi-bin/mt/mt-atom.cgi/weblog/blog_id=34/entry_id=24224" title="The Origins of MVC" />
    <published>2008-06-25T00:24:18Z</published>
    <updated>2008-06-25T01:05:24Z</updated>
    <title>The Origins of MVC</title>
    <summary>While there has recently been an increase in the buzz regarding frameworks, design patterns, and MVC architectures, they really are not new concepts.   In fact, the MVC design pattern has probably been around longer than a number of the people actively reading this blog.   </summary>
    <author>
      <name>Andrew Trice</name>
      
    </author>
    
    <category term="Blogs" />
    
    <content type="html" xml:lang="en" xml:base="http://www.insideria.com/">
      <![CDATA[<p>While there has recently been an increase in the buzz regarding frameworks, design patterns, and MVC architectures, they really are not new concepts.   In fact, the MVC design pattern has probably been around longer than a number of the people actively reading this blog.   </p>

<p><br />
The MVC (Model-View-Controller) architecture was conceived by <a href="http://heim.ifi.uio.no/~trygver/index.html" target="_blank">Trygve Reenskaug</a> at <a target="_blank" href="http://en.wikipedia.org/wiki/Xerox_PARC">Xerox PARC</a> in 1979 while working with <a href="http://en.wikipedia.org/wiki/Smalltalk" target="_blank">SmallTalk</a>.   MVC originated in desktop applications, and relatively recently made its way into web based applications.   Many modern RIA frameworks closely resemble the older desktop client-server architecture, and the resurgence of MVC popularity makes sense.</p>

<p><br />
I found these links to be particularly interesting on the topic of MVC, and they are in the words of the original MVC creator himself:</p>

<p><a href="http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html">MVC XEROX PARC 1978-79</a><br />
A description of MVC and its origins.</p>

<p><a href="http://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf">MODELS - VIEWS - CONTROLLERS</a><br />
A great description of the logical components of MVC.</p>

<p><a href="http://heim.ifi.uio.no/~trygver/2003/javazone-jaoo/MVC_pattern.pdf">The Model-View-Controller (MVC) Its Past and Present</a><br />
More detail about the MVC pattern and its evolution.</p>

<p><br />
You can learn more about MVC, and its application to various technologies at: <a href="http://en.wikipedia.org/wiki/Model-view-controller#History" target="_blank">http://en.wikipedia.org/wiki/Model-view-controller</a></p>

<p><br />
The concepts introduced by the model-view controller pattern are the driving factors for all major Flex frameworks, including:</p>

<p><a target="_blank" href="http://code.google.com/p/swizframework/">Swiz</a><br />
<a target="_blank" href="http://labs.adobe.com/wiki/index.php/Cairngorm">Cairngorm</a><br />
<a target="_blank" href="http://www.model-glue.com/flex.cfm">Model Glue</a><br />
<a target="_blank" href="http://puremvc.org/">PureMVC</a><br />
<a target="_blank" href="http://mate.asfusion.com/">Mate</a></p>]]>
      
    </content>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.24224-comment:2018270</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.24224" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html#comment-2018270" />
    <title>Comment from Ahmet on 2008-06-25</title>
    <author>
        <name>Ahmet</name>
        <uri>http://www.metah.ch</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.metah.ch">
        <![CDATA[<p>Lol @ : "the MVC design pattern has probably been around longer than a number of the people actively reading this blog. " This blog is not even 1 year old is it? </p>]]>
    </content>
    <published>2008-06-25T12:47:28Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.24224-comment:2018271</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.24224" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html#comment-2018271" />
    <title>Comment from Andrew Trice on 2008-06-25</title>
    <author>
        <name>Andrew Trice</name>
        <uri>http://www.tricedesigns.com</uri>
    </author>
    <content type="html" xml:lang="en" xml:base="http://www.tricedesigns.com">
        <![CDATA[<p>Hah, No i mean the average age of people reading the blog.  Not the age of the blog itself. :)</p>]]>
    </content>
    <published>2008-06-25T12:49:21Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.24224-comment:2018350</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.24224" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html#comment-2018350" />
    <title>Comment from Damian on 2008-06-26</title>
    <author>
        <name>Damian</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>Is there anywhere a comparison for the different frameworks?<br />
I'm familiar with some of them, but I haven't even heard others.</p>]]>
    </content>
    <published>2008-06-27T02:34:09Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.24224-comment:2018361</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.24224" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html#comment-2018361" />
    <title>Comment from Matthew Quinlan on 2008-06-27</title>
    <author>
        <name>Matthew Quinlan</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>An interesting take on the past and future of MVC in the context of webapps.  </p>

<p><a href="http://www.appcelerant.com/mvc_is_dead.html">http://www.appcelerant.com/mvc_is_dead.html</a></p>

<p>-Quin'</p>

<p>Matthew Quinlan<br />
Chief Evangelist<br />
www.Appcelerator.com</p>]]>
    </content>
    <published>2008-06-27T15:55:03Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.24224-comment:2018362</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.24224" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html#comment-2018362" />
    <title>Comment from fsilber on 2008-06-27</title>
    <author>
        <name>fsilber</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>MVC is a good idea, and yet there is a great deal of dissatisfaction with "MVC frameworks" for developing web applications.</p>

<p>The problem, as I see it, is not the separation of model, view and controller, which is still a good idea.  I think the real problem is with the use of XML for encoding control, and the use of HTML with embedded logic (in the form of scriptlets, custom tags, or tags from a standard tag library) for creating the view.</p>

<p>In desktop applications, even where the MVC pattern is used, all three parts are coded using an object-oriented programming language.  Only a very few web frameworks (e.g. Wicket, GWT, Echo) take this approach.  (These frameworks don't automatically separate M,V and C from each other, but they allow the user to do so just as they can when writing a desktop application.)</p>]]>
    </content>
    <published>2008-06-27T15:57:44Z</published>
  </entry>

  <entry>
    <id>tag:www.insideria.com,2008://34.24224-comment:2041915</id>
    <thr:in-reply-to ref="tag:www.insideria.com,2008://34.24224" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html"/>
    <link rel="alternate" type="text/html" href="http://www.insideria.com/2008/06/the-origins-of-mvc.html#comment-2041915" />
    <title>Comment from mvc sucks on 2008-08-27</title>
    <author>
        <name>mvc sucks</name>
        <uri></uri>
    </author>
    <content type="html" xml:lang="en" xml:base="">
        <![CDATA[<p>I have to update a flash program and I don't know MVC. The update normally takes 20 minutes but since it's in MVC I can't do it and the programmer estimates 2 hours. How is this not crap.</p>]]>
    </content>
    <published>2008-08-27T17:54:47Z</published>
  </entry>

</feed
