50 Shades of MVC
updated over 6 years ago; latest suggestion over 6 years ago
We at the Rails world are very proud of embracing the Model-View-Controller design pattern, it is integral to the way we build web applications and there is a general consensus that all of us generally know what we are talking about in regards to it, hell , most of our code files are under a model, controller or views directories! We've got to know what we are doing, right?
Much like Object Orientation the Model-View-Controller pattern is one of the most popular-yet-heavily-altered concepts in modern computer science, what were the original propositions of the pattern? How was it applied back in the 70's, when it was proposed as a part of Smalltalk? How much have we changed it to adapt it to the web application scene? How can we apply this to our day to day work in 2013? is altering the original pattern necessarily a bad thing? And now that we are at it: what is this DCI (Data , Context and Interaction) pattern everybody is suddenly really interested in? is it the new MVC? Should we rename our rails app directory tree to continue beeing the cool guys? When does it make sense to pile on to a new application design paradigm?
On this talk I present different aspects of the MVC pattern and its changes from its inception to modern day use, what to keep in mind about the pattern as opposed to a single framework's implementation of it and how knowing this should make us all around better programmers, I will also dig into how MVC plays along (and doesn't, sometimes) with the DCI pattern.
Hey guys, sorry I didn't respond sooner, I got no notification about this whatsoever. :(
Yes, the very point of my talk is that Rails "isn't MVC" at least according to its original interpretation, in my talk I intend to explain the original pattern on its inception on the smalltalk world, I will also talk about backbone, as it is way closer to this "original MVC", and discuss why Rails's MVC is different - being on the backend affects this - the reasons and intend for it, and if the fact that its different is inherently wrong or not.
I think it does make sense to talk a lot about Model 2 in this talk and will try to cover it if I have the time. :)
That's exactly my question and the subject of the talk. Rails has its own interpretation of the MVC pattern, which is certainly different from the original pattern. I will cover that if I am lucky enough to be accepted as a speaker. :)
As the other suggesters have noted, many feel Rails isn't actually MVC. Are there any ruby frameworks that do embrace a truer implementation of MVC? We can all point at JS implementations (backbone, etc...), but I personally don't know if there are ruby ones. If there aren't why is that? What would it look like? Are there any server-side frameworks that do implement this, and what can we learn from them?
I suspect this might be veering away from your original goal - but I think a couple of slides towards the end of your talk that explore these thoughts would be very interesting.
Would really like to hear about the relationship between MVC and Model2. Does it make sense to talk about them in the same breath?
Is Rails MVC ?