Rails MVC VS Sproutcore MVC
gmoeck.github.com
gmoeck.github.com
Rails is Model2, which is the web adapted version of MVC that is popular in server-side web dev.
In the MVC paradigm the user input, the modeling of the
external world, and the visual feedback to the user are
explicitly separated and handled by three types of object,
each specialized for its task. The view manages the graphical
and/or textual output to the portion of the bitmapped display
that is allocated to its application. The controller interprets
the mouse and keyboard inputs from the user, commanding the model
and/or the view to change as appropriate. Finally, the model
manages the behavior and data of the application domain, responds
to requests for information about its state (usually from the view),
and responds to instructions to change state (usually from the controller).
http://st-www.cs.illinois.edu/users/smarch/st-docs/mvc.htmlLooking at the Sproutcore diagram given in the article, it looks like that in Sproutcore input goes to the view, which then decides to pass it to the controller. In Smalltalk it sounds like input goes straight to controllers--views have no idea input happened unless a controller tells them about it.
It's not quite clear to me from the article, but it also looks like maybe the view gets what the information about what to display from the controller (which gets it from the model). In Smalltalk it sounds like the controller would tell the view that the view needs to update, and the view would talk directly to the model to get the data it needs.
"Something like" MVC is certainly possible, but MVC directly is pretty much confined to something without a client/server in it, or a cloud, and also is pretty tightly coupled to Object Orientation, too.
I think it's better just to go with "separation of concerns" and "don't repeat yourself", and pretty much whatever comes out of the end of a design based on those things will be better than trying to jam MVC in a priori. Maybe it'll even be MVC, if that's what fits, but MVC isn't specially good, it's just one point of a myriad of points on the good-DRY/SoC frontier.